您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關解決mysql主從錯誤的問題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
mysql主從常見錯誤解決方法:
1、數據庫表字符集不一致報錯,錯誤代碼1366
解決辦法:修改表字符集。
A、修改表字符集為gbk
Stop slave;
Use backlog;
ALTER TABLE UNDOINFO CONVERT TO CHARACTER SET gbk COLLATE gbk_chinese_ci;
Start slave;
Show slave status\G
B、修改表字符集為utf8
use backlog;
ALTER TABLE APPINFO CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
stop slave;
start slave;
show slave status\G;
2、導主庫數據重新配置從庫方法(該方法通用但耗時至少半小時、從庫跟主庫數據差異較大時采用)
A、導主庫數據(執行命令是注意當前路徑)
在主庫上將數據庫導出(導出數據庫backlog數據并鎖定主從復制日志文件和位置)
mysqldump -uroot -pxxx backlog --master-data > /opt/eetrust/a.sql
然后將a.sql文件拷貝到從庫上
scp a.sql eetrustadmin@192.168.xx.xx:/opt/eetrust/a.sql
直接在從庫導主庫的數據庫
mysqldump -h 192.168.xx.xx -uroot -pxxxxxx backlog --master-data > /opt/eetrust/a.sql
B、更新從庫數據庫數據(mysql登陸下執行)
drop database backlog; 刪除原數據庫及數據
create database backlog;重新創建數據庫
use backlog;使用該數據庫
source /opt/eetrust/a.sql 導入主數據庫數據
C、重新配置從庫主從復制(mysql登陸下執行)
reset slave;
stop slave;
show slave status\G
change master to master_host='
192.168.xx.xx',master_port=3306,master_user='eetrustcp',master_password='xxxxxx',master_log_file='binlog.000284',master_log_pos=699734788;
start slave;
show slave status\G;(配置完成后檢查主從復制狀態)
3、數據同步報錯臨時跳過報錯解決方法(此方法不推薦經常使用)
stop slave;
set global sql_slave_skip_counter=1;
start slave;
4、服務器突發故障數據庫從庫主從復制停止,數據庫表損壞修復方法
使用命令 check table 和 repair table
登陸mysql 終端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出現的結果說Status是OK,則不用修復,如果有Error,可以用:
repair table tabTest;
進行修復,修復之后可以在用check table命令來進行檢查。如果出現的結果說Status是OK,則從新設置主從復制
關于解決mysql主從錯誤的問題就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。