程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql主從數據庫分歧步的2種處理辦法

mysql主從數據庫分歧步的2種處理辦法

編輯:MySQL綜合教程

mysql主從數據庫分歧步的2種處理辦法。本站提示廣大學習愛好者:(mysql主從數據庫分歧步的2種處理辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql主從數據庫分歧步的2種處理辦法正文


明天發明Mysql的主從數據庫沒有同步
先上Master庫:
mysql>show processlist; 檢查下過程能否Sleep太多。發明很正常。
show master status; 也正常。
mysql> show master status;
+-------------------+----------+--------------+-------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 | 3260 | | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
1 row in set (0.00 sec)
再到Slave上檢查
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: No
可見是Slave分歧步

上面引見兩種處理辦法:
辦法一:疏忽毛病後,持續同步
該辦法實用於主從庫數據相差不年夜,或許請求數據可以不完整同一的情形,數據請求不嚴厲的情形
處理:
stop slave;
#表現跳過一步毛病,前面的數字可變
set global sql_slave_skip_counter =1;
start slave;
以後再用mysql> show slave status\G 檢查:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
ok,如今主從同步狀況正常了。。。

方法二:從新做主從,完整同步
該辦法實用於主從庫數據相差較年夜,或許請求數據完整同一的情形
處理步調以下:
1.先輩入主庫,停止鎖表,避免數據寫入
應用敕令:
mysql> flush tables with read lock;
留意:該處是鎖定為只讀狀況,語句不辨別年夜小寫
2.停止數據備份
#把數據備份到mysql.bak.sql文件
[root@server01 mysql]#mysqldump -uroot -p -hlocalhost > mysql.bak.sql
這裡留意一點:數據庫備份必定要按期停止,可以用shell劇本或許python劇本,都比擬便利,確保數據滿有把握
3.檢查master 狀況
mysql> show master status;
+-------------------+----------+--------------+-------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 | 3260 | | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
1 row in set (0.00 sec)
4.把mysql備份文件傳到從庫機械,停止數據恢復
#應用scp敕令
[root@server01 mysql]# scp mysql.bak.sql [email protected]:/tmp/
5.停滯從庫的狀況
mysql> stop slave;
6.然後到從庫履行mysql敕令,導入數據備份
mysql> source /tmp/mysql.bak.sql
7.設置從庫同步,留意該處的同步點,就是主庫show master status信息裡的| File| Position兩項
change master to master_host = '192.168.128.100', master_user = 'rsync', master_port=3306, master_password='', master_log_file = 'mysqld-bin.000001', master_log_pos=3260;
8.從新開啟從同步
mysql> stop slave;
9.檢查同步狀況
mysql> show slave status\G 檢查:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
好了,同步完成啦。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved