使用者工具

網站工具


database:mysql:binlog

差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
database:mysql:binlog [2014/05/31 07:17]
ali88 [Binlog 啟動]
database:mysql:binlog [2014/05/31 08:24] (目前版本)
ali88 [刪除Bin-log]
行 10: 行 10:
 binlog-do-db=dbName #​指定哪一個資料庫,​此參數可略,​預設為全部資料庫 binlog-do-db=dbName #​指定哪一個資料庫,​此參數可略,​預設為全部資料庫
 log-bin = /​var/​lib/​mysql/​mysql-bin.* ​ #​指定bin-log檔案名稱或是用預設的base_name(此值就是正在運作服務器主機名稱)及路徑 log-bin = /​var/​lib/​mysql/​mysql-bin.* ​ #​指定bin-log檔案名稱或是用預設的base_name(此值就是正在運作服務器主機名稱)及路徑
-expire-logs-days=5 ​                   #​指定bin-log要保留幾天+expire-logs-days=5 ​                   #​指定bin-log要保留幾天。預設是0,​表Binary log不會被移除
 max_binlog_size=104857600 ​            #​指定單一bin-log檔案大小 max_binlog_size=104857600 ​            #​指定單一bin-log檔案大小
 [mysqld_safe] [mysqld_safe]
行 19: 行 19:
 ======列出Bin Log====== ======列出Bin Log======
 <code 1>​mysql>​ show binary logs;</​code>​ <code 1>​mysql>​ show binary logs;</​code>​
 +或是列出服務器正在讀寫哪一個Binary Log及哪一個byte offset(Position)<​code>​mysql>​show master status;</​code><​code>​+------------------+----------+--------------+------------------+
 +| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
 ++------------------+----------+--------------+------------------+
 +| mysql-bin.000012 |      106 |              |                  |
 ++------------------+----------+--------------+------------------+</​code>​
 +另外,​利用系統工具**stat**可以看到binary log 文件大小,​也就是byte offset(Position)<​code>#​stat /​var/​lib/​mysql/​mysql-bin.000012</​code><​code>​File:​ ‘/​var/​lib/​mysql/​mysql-bin.000012’
 +  Size: 106       ​ Blocks:​ 8          IO Block: 4096   ​普通檔案
 +Device: fd00h/​64768d Inode:​ 158758 ​     Links: 1
 +Access: (0660/​-rw-rw----) ​ Uid: (  498/   ​mysql) ​  Gid: (  498/   ​mysql)~ 略</​code>​
 ======刪除Bin-log====== ======刪除Bin-log======
 刪除全部binlog 刪除全部binlog
 <code mysql>​mysql>​RESET MASTER;</​code>​ <code mysql>​mysql>​RESET MASTER;</​code>​
-指定刪除哪一個binlog之前+指定刪除哪一個binlog之前(不包含自己本身)
 <code mysql>​mysql>​ purge binary logs to '​mysql-bin.000003';</​code>​ <code mysql>​mysql>​ purge binary logs to '​mysql-bin.000003';</​code>​
 +以上的手動刪除,​是利用MySQL 提供的SQL語法來刪除Binary Log。**若是用system 工具刪除 rm -f /​var/​lib/​mysql/​mysql-bin.*是不
 +建議的做法,​因為會引發一些不必要的warning 或是Error 等訊息**
 +
 +若是用system 工具刪除
 +例如<​code>​mysql>​ show binary logs;</​code><​code>​+------------------+-----------+
 +| Log_name ​        | File_size |
 ++------------------+-----------+
 +| mysql-bin.000001 |       149 |
 +| mysql-bin.000002 |       149 |
 +| mysql-bin.000003 |       149 |
 +| mysql-bin.000004 |       149 |
 +| mysql-bin.000005 |       106 |
 ++------------------+-----------+</​code>​利用system工具<​code>#​rm -rf /​var/​lib/​mysql/​mysql-bin.000001</​code>​再用mysql工具觀察<​code>​mysql>​show binary logs;</​code><​code>​------------------+-----------+
 +| Log_name ​        | File_size |
 ++------------------+-----------+
 +| mysql-bin.000001 |         0 |
 +| mysql-bin.000002 |       149 |
 +| mysql-bin.000003 |       149 |
 +| mysql-bin.000004 |       149 |
 +| mysql-bin.000005 |       106 |
 ++------------------+-----------+</​code>​若再用mysql的**purge**<​code>​mysql>​ purge binary logs to '​mysql-bin.000005'; ​
 +Query OK, 0 rows affected, 1 warning (0.03 sec)</​code>​看warning 訊息<​code>​mysql>​ show warnings;</​code><​code>​+---------+------+---------------------------------------------------+
 +| Level   | Code | Message ​                                          |
 ++---------+------+---------------------------------------------------+
 +| Warning | 1612 | Being purged log ./​mysql-bin.000001 was not found |
 ++---------+------+---------------------------------------------------+</​code>​
 ======參考資料====== ======參考資料======
   - [[http://​blog.longwin.com.tw/​2009/​04/​mysql-binlog-recovery-range-by-date-time-2009/​|MySQL 使用 binary log 回覆 某段時間區間 的資料]]   - [[http://​blog.longwin.com.tw/​2009/​04/​mysql-binlog-recovery-range-by-date-time-2009/​|MySQL 使用 binary log 回覆 某段時間區間 的資料]]
database/mysql/binlog.1401520628.txt.gz · 上一次變更: 2014/05/31 07:17 由 ali88