mysql中如何開啟binlog?開啟二進制日志文件?binary log?


需求描述:

  開啟mysql的binlog即binary log日志功能,在此記錄下.

版本描述:

  •   mysql版本:5.7.21-log

操作過程:

1.修改my.cnf並且將以下參數加入其中,重啟mysql實例

server-id=11           #由於bug,所以需要設置該參數.否則無法啟動mysql實例
log-bin = mysql-bin    #其中mysql-bin代表的是basename就是生成二進制日志文件的前綴部分,默認的位置在datadir目錄下,也可以設置為其他的路徑

2.查看binlog相關系統參數值

mysql> show variables where variable_name in ('log_bin','log_bin_basename','log_bin_index');
+------------------+-----------------------------+
| Variable_name    | Value                       |
+------------------+-----------------------------+
| log_bin          | ON                          |
| log_bin_basename | /mysql/data/mysql-bin       |
| log_bin_index    | /mysql/data/mysql-bin.index |
+------------------+-----------------------------+
3 rows in set (0.00 sec)

備注:在my.cnf中設置好log-bin之后,log_bin自動設置為ON,basename設置為mysql-bin,index文件也自動生成,index文件記錄的就是所有的二進制文件的名稱及位置信息.

3.查看生成的二進制文件在文件系統上的表現形式

[root@testvm data]# ls -ltr mysql-bin.*
-rw-r----- 1 mysql mysql 154 Jul 25 11:17 mysql-bin.000001
-rw-r----- 1 mysql mysql  19 Jul 25 11:17 mysql-bin.index

備注:mysql-bin是設置的basename,點號后面的序號是自動生成的,啟動時,自動生成第一個文件,當該文件寫滿的時候,會寫2,然后3,依次類推.

4.查看index文件的內容

[root@testvm data]# cat mysql-bin.index    #如果mysql-bin不在默認的路徑,那么index文件中記錄的就是絕對路徑加文件名
./mysql-bin.000001

5.注意事項

  在官方文檔中,說啟用binary log只是需要將log-bin=mysql-bin設置即可,但是因為有bug,所以必須要設置server-id否則啟動不成功.

官方文檔解釋如下:

If you specify the --log-bin option without also specifying a --server-id, the server is not allowed to start. (Bug #11763963, Bug #56739) 

6.如果my.cnf中log-bin不加basename

server-id=11 
log-bin               #后面不接basename

7.重啟mysql實例,查看log-bin相關信息

mysql> show variables where variable_name in ('log_bin','log_bin_basename','log_bin_index');
+------------------+------------------------------+
| Variable_name    | Value                        |
+------------------+------------------------------+
| log_bin          | ON                           |
| log_bin_basename | /mysql/data/testvm-bin       |
| log_bin_index    | /mysql/data/testvm-bin.index |
+------------------+------------------------------+
3 rows in set (0.01 sec)

備注:如果不加basename,那么就是主機名-bin,主機名-bin.index這樣的命名方式.

 

文檔創建時間:2018年7月19日15:06:57


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM