一.binlog 二進位其它選項 在二進位日誌記錄了數據的變化過程,對於數據的完整性和安全性起著非常重要作用。在mysql中還提供了一些其它參數選項,來進行更小粒度的管理。 1.1 binlog-do-db=db_name 該選項告訴主伺服器,當前db_name庫會更新記錄到二進位日誌中,其它所有沒 ...
一.binlog 二進位其它選項
在二進位日誌記錄了數據的變化過程,對於數據的完整性和安全性起著非常重要作用。在mysql中還提供了一些其它參數選項,來進行更小粒度的管理。
1.1 binlog-do-db=db_name
該選項告訴主伺服器,當前db_name庫會更新記錄到二進位日誌中,其它所有沒有顯示指定的資料庫更新時不記錄到二進位日誌中。
1.2 binlog-ignore-db=db_name
該選項告訴主伺服器,當前db_name庫不會更新記錄到二進位日誌中,其它所有沒有顯示指定的資料庫會更新到二進位日誌中。
下麵來演示下binlog-ignore-db選項。在my.cnf中加上binlog-ignore-db=test。該test庫更新時不記錄到二進位日誌中。my.cnf設置如下圖所示:
修改my.cnf後,重啟mysqld服務,查看最新binlog編號為 000017。
--在test庫的a表中插入一條數據 INSERT INTO a VALUES('cccccc');
查看binlog二進位日誌,發現該插入語句,沒有在二進位日誌中出現。如下圖所示:
接下來註釋my.cnf中的binlog-ignore-db=test。
重啟mysqld服務, 查看最新binlog編號為000018。如下圖所示:
--在test庫的a表中插入一條數據 INSERT INTO a VALUES('dddddd');
查看binlog二進位日誌,發現該插入語句,已經記錄到二進位日誌中。如下圖所示:
二. 查詢日誌general_log
上面我們知道,在二進位日誌里是不包含查詢數據的語句。下麵可以使用general_log=1選項參數開啟,來記錄客戶端的所有查詢語句。log_output=FILE,TABLE 選項參數為輸出格式是文件和表。 啟動mysqld服務後,查詢日誌開始被記錄。
-- 日誌查詢是否開啟,如果general_log的值為ON則為開啟,為OFF則為關閉(預設情況下是關閉的) SHOW VARIABLES LIKE '%general%';
-- 輸出日誌格式為文件還是表 SHOW VARIABLES LIKE '%log_output%';
對於查詢日誌log這裡就不在演示。在log中記錄了所有資料庫的操作,對於訪問頻繁的系統,此日誌對系統性能的影響較大,一般不建議開啟,如果是對查詢進行跟蹤確認可以打開記錄一段時間。