標籤:service 資料庫 二進位 mysql start
開啟二進位日誌(二進位日誌內容:更改資料庫的操作)
在/etc/mysql/my.cnf中
將log_bin這一行的注釋去掉就開啟了後面的是儲存的路徑
下面的expire_logs_days是過多久,Mysql自動刪除二進位日誌
max_binlog_size為最大二進位日誌大小
注意重啟mysql後剛剛的修改才生效
shell>sudo service mysql stop
shell>sudo service mysql start
然後登入mysql
每次登陸後都會產生二進位日誌
我的二進位日誌具體為
mysql-bin.000001(這裡的mysql為主機名稱字)
可以在MySQL裡用:SHOW BINARY LOGS來查看
查看具體內容需要在shell裡用:例如
mysqlbinlog /var/log/mysql/mysql-bin.0000002
來查看
刪除所有記錄檔(還會產生一個新的二進位記錄檔):
mysql>RESET MASTER;
刪除指定的記錄檔:
mysql>PURGE MASTER LOGS TO ‘mysql-bin.0000002‘;
to是到的意思所以上面那句為刪除mysql-bin.0000001
還可以根據時間來部分刪除
:mysql>PURGE MASTER LOGS BEFORE ‘20150531‘;
從二進位日誌中恢複資料:
shell>mysqlbinlog --stopdatetime="2015-05-31 10:18:15"/var/log/mysql/mysql-bin.000002|mysql -u root -p
其中時間為那個二進位日誌裡的時間
暫停二進位日誌:
mysql>set sql_log_bin=OFF;
恢複二進位日誌:
mysql>set sql_log_bin=ON;
【執行flush logs的影響:會多產生一個新的記錄檔】
所以上面的指令要在開啟了二進位日誌時候才能用。
開啟錯誤記錄檔(尾碼為.err)
同樣在my.cnf裡讓log_error的注釋取消
查看錯誤記錄檔所在的路徑
mysql>show variables like ‘log_error‘
刪除錯誤記錄檔:
shell>mysqladmin -u root -p flush-logs
或者:
mysql>flush logs
啟動通用查詢日誌(通用查詢日誌:使用者對資料庫的每一步操作):
同理在[mysqld]
裡加:log
刪除/其實是重新建立:
mysqladmin -u root -p flush-logs
啟動慢查詢日誌(慢查詢日誌內容:執行時間超過long_query_time的查詢或者不使用索引的查詢)
啟動設定慢查詢日誌:與前面的同
在my.cnf裡添加:log-slow-queries(後面不加指定路徑即使用其預設的data路徑)
重建慢查詢記錄檔
shell>mysqladmin -u root -p flush-logs
mysql>flush logs
【慢查詢日誌與效能最佳化相關】
【實驗小結六】mysql日誌的故事