首先找到my.cnf配置文件位置:
執行命令:
mysql --help | grep 'Default options' -A 1
第一個文件 /etc/my.cnf 即為配置文件
#第一種方式: #開啟binlog日志 log_bin=ON #binlog日志的基本文件名 log_bin_basename=/var/lib/mysql/mysql-bin #binlog文件的索引文件,管理所有binlog文件 log_bin_index=/var/lib/mysql/mysql-bin.index #配置serverid server-id=123 #第二種方式:(把mysqlId加上否則可能不成功)
[mysqld] #此一行等同於上面log_bin三行 log-bin=/var/lib/mysql/mysql-bin #配置serverid server-id=123
ps:把mysqlId標簽加上否則可能不成功
修改完配置后,重啟mysql。執行SHOW VARIABLES LIKE 'log_bin';
Value 值為 ON即可。
mysql重啟方式:
# CentOS 6 service mysqld restart # CentOS 7 systemctl restart mysqld
bug相關:
執行SHOW VARIABLES LIKE 'log_bin' 發現binlog還是沒有開啟,則排查my.cnf配置文件是否真正生效:
客戶端連接mysql發現報錯日志:
World-writable config file '/etc/my.cnf' is ignored
則更改my.cnf的權限
改成777 后,mysql 會忽略配置文件 World-writable config file '/etc/my.cnf' is ignored ,客戶端登陸時會提示這個問題,改一下權限為644,然后重啟mysql發現配置生效,binlog為ON狀態
參考: