MySQL Status (Monitor)是否異常可以靠自己寫程式檢查 + 解決,不過都已經架了一台 Nagios,就該把檢查的工作全部交給它,才不會東漏一隻、西漏一隻的。
註:此設定主要針對 MySQL 的 DB Slave
閱讀全文〈Nagios 加上 MySQL Slave Replication Status 檢查〉
個人筆記, 記錄關於 系統、程式、新聞 與 日常生活 等資訊
MySQL Status (Monitor)是否異常可以靠自己寫程式檢查 + 解決,不過都已經架了一台 Nagios,就該把檢查的工作全部交給它,才不會東漏一隻、西漏一隻的。
註:此設定主要針對 MySQL 的 DB Slave
閱讀全文〈Nagios 加上 MySQL Slave Replication Status 檢查〉
MySQL Replication 遇到下述錯誤訊息: (mysql> show slave status \G # 簡化過的訊息如下)
Last_Errno: 1580
Last_Error: Error 'You cannot 'ALTER' a log table if logging is enabled' on query. Default database: 'mysql'. Query: 'ALTER
TABLE slow_log ...
Last_SQL_Errno: 1580
Last_SQL_Error: Error 'You cannot 'ALTER' a log table if logging is enabled' on query. Default database: 'mysql'. Query: 'ALTER TABLE slow_log ...
閱讀全文〈MySQL Replication 遇到 Error 'You cannot 'ALTER' a log table 修復〉
MySQL Replication 遇到 error 1236 就有點麻煩了~ 通常都是 binlog 出問題造成的~ (Master 或 Slave 的 binlog 壞掉都有可能造成此錯誤)
通常遇到這個狀況, 都是 Slave 的 binlog 壞掉, 就 Slave DB 的資料重倒來解決, 但是此次遇到是 Master 的 binlog 壞掉, 就有點苦了~
錯誤訊息如下:
- Last_IO_Errno: 1236
- Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin.003583' at 45997491, the last event read from './mysql-bin.003583' at 4, the last byte read from './mysql-bin.003583' at 4.'
閱讀全文〈MySQL Replication 遇到 Got fatal error 1236 from master 修復〉
MySQL 於 Master 砍個不存在的 Table, Slave 沒有此 Table 的話, 就會造成 Replication 停擺, 會出現下述錯誤訊息: (有些不需要看到的訊息我先刪掉了)
Replicate_Wild_Ignore_Table: Last_Errno: 1146 Last_Error: Error 'Table 'phpmyadmin.pma_table_info' doesn't exist' on query. Default database: ''. Query: 'DELETE FROM `phpmyadmin`.`pma_table_info` WHERE db_name = 'test' AND table_name = 'item'' Skip_Counter: 1 Seconds_Behind_Master: NULL Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 1146 Last_SQL_Error: Error 'Table 'phpmyadmin.pma_table_info' doesn't exist' on query. Default database: ''. Query: 'DELETE FROM `phpmyadmin`.`pma_table_info` WHERE db_name = 'test' AND table_name = 'item''
上述發生的狀況是 Master 有 phpMyAdmin, Slave 沒有(所以 Slave 一開始同步也沒去建立 phpMyAdmin DB), 但是 phpMyAdmin 新版會建立自己的 DB, 於 phpMyAdmin 頁面上砍 Table 時, 他也要從自己的 pma_table_info 砍資料, 於是就造成 Replication 停擺, 就出現上述錯誤訊息.
於 MySQL 設定同步 Replication, 將下述命令拆成兩組輸入, 如下述:
設定 Replication 完成後, start slave 無法啟動, 出現下述錯誤訊息:
Could not initialize master info structure, more error messages can be found in the MySQL error log
要怎麼解決呢?
閱讀全文〈MySQL 出現 Could not initialize master info structure 修復〉
MySQL 要設定 Replication 可以參考此篇: MySQL 設定 Replication (Master - Slave)
但是要設定多台機器一直持續(一層一層) Replication 下去, 預設是有無法達到的.
註: