mysql學習筆記之十五(日誌管理),mysql學習筆記

來源:互聯網
上載者:User

mysql學習筆記之十五(日誌管理),mysql學習筆記

日誌:記錄資料庫的運行情況,日常操作,錯誤資訊等    mysql日誌:二進位日誌,錯誤記錄檔,和查詢日誌。        二進位日誌:            通過二進位形式記錄資料庫的各種操作,但是卻不記錄查詢語句        錯誤記錄檔                該日誌會記錄mysql伺服器啟動,關閉和運行時出錯等資訊            查詢日誌            該類型日誌會分為兩類,通用查詢日誌和慢查詢日誌。其中前者會記錄使用者登入和記錄查詢語句;後者會記錄執行時間超過指定時間的各種操作    日誌操作時資料庫維護中最重要的手段之一,通過記錄檔,不僅可以通過記錄檔愛你來查看出錯的原因,而且還可以通過記錄檔愛你進行資料恢複。    預設情況下,mysql軟體只會啟動錯誤記錄檔檔案,而其他記錄檔則需要手動啟動才可以被啟動。操作二進位日誌    開機記錄        如果mysql資料庫意外停止,可以通過二進位檔案來查看使用者執行了哪些操作,對資料庫伺服器檔案做了哪些修改,然後根據二進位記錄檔中的記錄來恢複資料庫伺服器。        預設情況下,二進位是關閉的。        通過配置my.ini來實現,具體內容:            [mysqld]            log-bin[=dir\[filename]]        這個添加不要在my.ini檔案頭添加,要在中間添加,如下位置:        log-slow-queries=mysql-slow.log        log-error=mysql.err        log-bin=mysql-bin        添加錯誤有可能導致mysql無法啟動。        dir用來指定二進位檔案的儲存路徑;filename用來指定二進位檔案的檔案名稱,具體格式為filename.number,其中number的格式為000001、000002...等        在具體啟動二進位檔案時,如果沒有設定參數dir和filename,二進位記錄檔將使用預設名字主機名稱-bin.number,儲存在預設目錄--資料檔案裡。        每次重啟mysql伺服器都會產生一個新的二進位記錄檔,這些記錄檔的檔案名稱裡,filename部分不會改變,但是number的值會不斷增加。        filename.index:二進位檔案列表。 這個檔案會自動添加    查看日誌        mysqlbinlog filename.number        (這個命令總是執行錯誤。)        查看發現,二進位日誌會記錄使用者對伺服器做了哪些操作,但不包括查詢        只查看第一個binlog檔案的內容            show binlog events;        查看指定binlog檔案的內容            show binlog events in 'mysql-bin.000002';        查看當前正在寫入的binlog檔案            show master status\G        擷取binlog檔案清單            show binary logs;    停止日誌        如果再my.ini設定檔中添加了log-bin選項,那麼mysql會一直啟動二進位日誌功能。        如果想停止,只需要刪除log-bin選項即可        一種特殊情況,一些操作需要記錄在日誌中,而一些操作不需要,那麼可以使用set命令        如:            set SQL_LOG_BIN=0            set sql_log_bin=1        只有擁有super許可權的使用者,才可以執行set語句    刪除日誌                reset master            刪除所有的二進位檔案        purge master logs to filename.number            刪除小於編號number的所有二禁止檔案        purge master logs before 'yyyy-mm-dd hh:MM:ss'            刪除指定時間之前的二進位記錄檔操作錯誤記錄檔    預設是開啟的。名稱格式一般為hostname.err,儲存在資料庫資料檔案裡    設定檔my.ini中的error-bin[=dir\[filename]]可以自訂錯誤記錄檔的儲存路徑    啟動        如果沒有開啟,或者關閉了,那麼可以在設定檔my.ini裡啟動,        [mysqld]        error-bin=[dir\[filename]]    查看        錯誤記錄檔是以文字檔的形式儲存的,所以可以直接開啟查看    停止        直接把設定檔裡的對應選項注釋掉,然後重啟    刪除        flush logs        執行上述命令,mysql首先會建立一個新的錯誤記錄檔,然後將舊的錯誤記錄檔更名為filename.err-old。如果管理員認為不需要儲存舊的日誌,則可以直接刪除操作查詢日誌    通用查詢日誌        記錄使用者關於mysql伺服器的所有操作,包含mysql伺服器的啟動和關閉資訊、更新資料記錄sql語句和查詢資料記錄sql語句。    慢查詢日誌        用來記錄執行時間超過指定時間的查詢語句        通過該類型日誌,可以尋找到哪些查詢語句的執行效率低,從而進行最佳化    啟動        預設是關閉的        配置my.ini        [mysqld]        log [=dir\[filename]]        通用查詢記錄檔的尾碼為*.log        log-slow-queries[=dir\[filename]]        long_query_time=n        慢查詢記錄檔的尾碼為*slow.log        如果沒有設定long_query_time,預設為10秒。        我的慢查詢日誌預設是開啟的。    查看        如果想瞭解使用者最近的操作,可以查看通用查詢日誌;        如果想瞭解哪些操作逾時,可以查看慢查詢日誌        都是文字檔,可以直接開啟。    停止        直接把設定檔裡的對應選項注釋掉,然後重啟    刪除        mysqladmin -u root -p flush -logs        執行不成功。

相關文章

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.