為什麼要開啟 bin-log
mysql 作為關系型資料庫,所有的事務操作在記錄到資料庫之前都會先将資料記錄到日志檔案,是以日志檔案至關重要,它是mysql 備份和恢複的基石
檢視我的資料庫是否開啟了 bin-log
show variables like '%slog_bin%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin | OFF |
| log_bin_basename | |
| log_bin_index | |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| sql_log_bin | ON |
+---------------------------------+-------+
6 rows in set (0.00 sec)
如果 log_bin =OFF,log_bin_basename, log_bin_index 為空,則代表沒有開啟 需要開啟
開啟bin-log
首先需要找到mysql配置檔案的路徑,推薦大家使用 locate 指令來查找 locate 指令不需要周遊目錄下查找,因為它直接從Linux的 locatedb 資料庫裡面查找 ,這個資料庫是Linux 自動建立并更新的一個本地資料庫,在使用之前請先更新一下該資料庫,将資料庫更新到最新的狀态 使用
updatedb
指令,手動更新資料庫
locate my.cnf
找到配置檔案之後,在配置檔案
[mysqld]
裡面加入以下幾個配置 (将路徑改成你自己的路徑即可)
log_bin=/var/lib/mysql/BIN
log_bin_index=/var/lib/mysql/mysql-bin.index
然後重新開機資料庫 再查詢
mysql> show variables like '%log_bin%';
+---------------------------------+-------------------------+
| Variable_name | Value |
+---------------------------------+-------------------------+
| log_bin | ON |
| log_bin_basename | /var/lib/mysql/BIN |
| log_bin_index | /var/lib/mysql/BIN.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| sql_log_bin | ON |
+---------------------------------+-------------------------+