mysql 主从 问题_Mysql解决主从不同步问题
1、 該方法適用于主從庫數(shù)據(jù)相差不大,或者要求數(shù)據(jù)可以不完全統(tǒng)一的情況,數(shù)據(jù)要求不嚴(yán)格的情況
stop slave;
set global sql_slave_skip_counter =1;#表示跳過一步錯(cuò)誤,后面的數(shù)字可變
start slave;
之后再用mysql> show slave status\G 查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
ok,現(xiàn)在主從同步狀態(tài)正常了。。。
2、首先停掉從庫:stop slave;
然后查看主庫:show master status \G;
然后在從庫執(zhí)行change master to master_host='10.122.74.230',master_port=3306,master_user='testadmin',
master_password='test123infobird',master_log_file='binlog.000147',master_log_pos=12471407;
然后啟動(dòng)從庫
3、重新做主從,完全同步
該方法適用于主從庫數(shù)據(jù)相差較大,或者要求數(shù)據(jù)完全統(tǒng)一的情況
解決步驟如下:
1.先進(jìn)入主庫,進(jìn)行鎖表,防止數(shù)據(jù)寫入
使用命令:mysql> flush tables with read lock;
注意:該處是鎖定為只讀狀態(tài),語句不區(qū)分大小寫
2.進(jìn)行數(shù)據(jù)備份
#把數(shù)據(jù)備份到mysql.bak.sql文件
[root@server01 mysql]#mysqldump -uroot -p -hlocalhost > mysql.bak.sql
這里注意一點(diǎn):數(shù)據(jù)庫備份一定要定期進(jìn)行,可以用shell腳本或者python腳本,都比較方便,確保數(shù)據(jù)萬無一失
3.查看master 狀態(tài)
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備份文件傳到從庫機(jī)器,進(jìn)行數(shù)據(jù)恢復(fù)
#使用scp命令
[root@server01 mysql]# scp mysql.bak.sql root@192.168.128.101:/tmp/
scp參數(shù)
-v 和大多數(shù) linux 命令中的 -v 意思一樣 , 用來顯示進(jìn)度 . 可以用來查看連接 , 認(rèn)證 , 或是配置錯(cuò)誤 .
-C 使能壓縮選項(xiàng) .
-P(大P) 選擇端口 . 注意 -p 已經(jīng)被 rcp 使用 .
-4 強(qiáng)行使用 IPV4 地址 .
-6 強(qiáng)行使用 IPV6 地址 .
注意兩點(diǎn):
1.如果遠(yuǎn)程服務(wù)器防火墻有特殊限制,scp便要走特殊端口,具體用什么端口視情況而定,命令格式如下:
#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的用戶是否具有可讀取遠(yuǎn)程服務(wù)器響應(yīng)文件的權(quán)限。
5.停止從庫的狀態(tài)
mysql> stop slave;
6.然后到從庫執(zhí)行mysql命令,導(dǎo)入數(shù)據(jù)備份
mysql> source /tmp/mysql.bak.sql
7.設(shè)置從庫同步,注意該處的同步點(diǎn),就是主庫show master status信息里的| File| Position兩項(xiàng)
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> start slave;
9.查看同步狀態(tài)
mysql> show slave status\G 查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
至此,同步已完成!
總結(jié)
以上是生活随笔為你收集整理的mysql 主从 问题_Mysql解决主从不同步问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 财产转让所得个人所得税计算 财产转让个人
- 下一篇: iPhone 改 USB-C 接口工程师
