【實驗小結六】mysql日誌的故事

來源:互聯網
上載者:User

標籤: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日誌的故事

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.