主從輔助無法同步問題解決(一)
這裏首先對單主單從M-S的操作步驟先做下簡要說明(具體操作略。。。)
一.環境準備;
二.master操作
1.開啟主服務器二進制日誌(並加入git選項);
2.在主服務器的MySQL上創建rep用戶,並用create和insert命令模擬在MySQL上加入數據;
3.通過mysqldump命令邏輯備份master上的二進制日誌,用scp命令發送給slave;
三.slave操作
1.驗證用戶rep是否能登錄,(如果登錄出現ssl無法通過問題,參考上篇博客,其實方法與本篇相同);
2.為避免slave上沒必要的二進制文件,在導入master二進制日誌時臨時關閉slave從服務器二進制日誌;
4.在slave中配置slave環境;
5.啟動slave服務;
(本篇問題所在步驟)
6.查看slave屬性;
7.在master中修改數據,在slave上驗證,如果能同步則說明主從完成同步。
在上述操作步驟中,在配置完slave後無法同步
無論在master上增刪改都無法同步至slave上
通過show slave status\G 命令查看後顯示slave_SQL_Running:No 和error 1007出現:
在/etc/my.cnf中加入一條命令就能解決這個錯誤: slave_skip_error=1007;
讓MySQL跳過這個錯誤;
然後systemcal restart mysqld,重啟mysqld;
同上面的操作一樣在/etc/my.cnf的配置文件中加入命令:slave_skip_error=1050;
然後systemcal restart mysqld,重啟mysqld;
這時候在看slave屬性:
錯誤沒有了,通過查詢看見數據已經可以同步了,
這時候再從/etc/my.cnf中註釋加入的兩行命令:
#slave_skip_error=1007;
#slave_skip_error=1050;
MySQL依然同步(筆者這裏的錯誤認為是2個簡單的小錯誤,不一定對所有error有效)。
總結:
在master生成日誌後,又存在一定的操作,使master中數據改動,在slave中導入中繼日誌後兩個數據庫的數據不一致,所以不能同步數據,在在配置文件中用skip跳過錯誤的之後,同步得意進行,slave自動從master上同步數據,工作得意正常進行。
主從輔助無法同步問題解決(一)