轉發常見一主從復制案例
參考文檔
http://www.111cn.net/database/mysql/58979.htm
mysql 版本
mysql -V
mysql Ver 14.14 Distrib 5.6.25, for Linux (x86_64) using EditLine wrapper
公司mysql主從服務器斷了
故障發生時間:2015-12-08 19:51:35
故障恢復時間:2015-12-09 12:22:38
1.收到同事反饋 mysql 主從斷開了
2.登錄slave 查看結果 如下 的確掛了
3.得到的相關信息有
Master_Host:192.168.66.6
Master_User:repl
Master_Port:10010
Master_Log_File: master-bin.000015
Slave_IO_Running: Yes
Slave_SQL_Running: NO
Last_Error:2015-12-08 19:51:35 30836 [ERROR] Slave SQL: Worker 3 failed executing transaction ‘‘ at master log master_bin.000015, end_log_pos 686772256; Error ‘Operation CREATE
USER failed for ‘zabbix‘@‘localhost‘‘ on query. Default database: ‘‘. Query: ‘CREATE USER ‘zabbix‘@‘localhost‘‘, Error_code: 1396
Executed_Gtid_Set:30f53a54************************:1-23
Master_Auto_Position:1
4.恢復操作
登錄slave
stop slave;
reset slave all;
set global gtid_purged=30f53a54************************:1-23;
change master to master_host=‘192.168.66.6‘, master_user=‘repl‘, master_password=‘mysql‘, master_port=‘10010‘,master_log_file=‘master_bin.000015‘, master_auto_position=1;
start slave;
show slave status\G;
主從狀態恢復
5.故障原因
http://blog.sina.com.cn/s/blog_439f80c40100yoln.html
建用戶的時候報告這個錯誤,原因是mysql中已經有了這個用戶,可以從mysql.user中直接刪除,然後刷新權限,再建用戶就不會有這個問題了。如果是drop user先,那麽mysql內部應該會自動刷新一下,那麽再建也不會有這問題了。
一個老外遇到了這個問題,給了個例子。他就是沒有刷新權限,才導致了這問題。
2015-12-08 19:51:35 我們之前已經創建了一個查詢mysql 主從狀態的 查詢帳號zabbix 無密碼 這個點對這個帳號賦予了其他的權限 查詢mysql 的狀態 但沒有刷新權限 導致問題出現
6.後期避免
對於 mysql 無論 master slave 的操作 都需慎重
如果對從進行修改數據,那麽很可能從在執行主的bin-log時出現錯誤而停止同步,這個是很危險的操作。所以一般情況下,非常小心的修改從上的數據。
轉發常見一主從復制案例