需求描述:
開啟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