一、開啟二進位制日誌
1)未開啟二進位制日誌之前:
mysql> show variables like `log_bin`; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | ON | #二進位制日誌是關閉的 +---------------+-------+ 1 row in set (0.00 sec) mysql>
2)開啟二進位制日誌
修改my.cnf並且將以下引數加入其中,重啟mysql例項:
log_bin=mysql-bin #其中mysql-bin代表的是basename就是生成二進位制日誌檔案的字首部分,預設的位置在datadir目錄下,也可以設定為其他的路徑 server-id=11 #由於bug問題必須設定這個id,數字隨便寫 datadir=/var/lib/mysql #預設指定檔案存放位置,可修改,但是要注意許可權
重啟伺服器:
systemctl restart mysqld
3)檢視開啟狀態;
mysql> show variables like `log_bin`; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | ON | +---------------+-------+ 1 row in set (0.00 sec)
注:在my.cnf中設定好log-bin之後,log_bin自動設定為ON,basename設定為mysql-bin,index檔案也自動生成,index檔案記錄的就是所有的二進位制檔案的名稱及位置資訊.
mysql> show variables where variable_name in (`log_bin`,`log_bin_basename`,`log_bin_index`); +------------------+--------------------------------+ | Variable_name | Value | +------------------+--------------------------------+ | log_bin | ON | | log_bin_basename | /var/lib/mysql/mysql-bin | | log_bin_index | /var/lib/mysql/mysql-bin.index | +------------------+--------------------------------+ 3 rows in set (0.01 sec) mysql>
4)注意事項
在官方文件中,說啟用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)
參考部落格:https://www.cnblogs.com/chuanzhang053/p/9335924.html