mysql 主从同步不一致_mysql主从同步不一致后的解决方法

查看master的运行情况:

[[email protected]] mysql -uroot -p************

[[email protected]] mysql> show master status \G;

*************************** 1. row ***************************

File: mysql-bin.000014 //这个信息点要记住,下面用

Position: 170017372 //这个信息点要记住,下面用

Binlog_Do_DB: ipharmacare_admin

Binlog_Ignore_DB: mysql,information_schema,performance_schema

Executed_Gtid_Set:

1 row in set (0.00 sec)

查看slave的运行情况:

[[email protected]] mysql -uroot -p************

[[email protected]] mysql> show slave status \G;

*************************** 1. row ***************************

Slave_IO_State:

Master_Host: master.mysql.ipharmacare.org

Master_User: slave

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000013

Read_Master_Log_Pos: 1003623481

Relay_Log_File: mysql-bin.000022

Relay_Log_Pos: 36726417

Relay_Master_Log_File: mysql-bin.000013

Slave_IO_Running: No

Slave_SQL_Running: No

Replicate_Do_DB: ipharmacare_admin

Replicate_Ignore_DB: mysql,information_schema,performance_schema

Replicate_Do_Table:

Replicate_Ignore_Table: ipharmacare_admin.tb_hospital,ipharmacare_admin.t_customer,ipharmacare_admin.t_license,ipharmacare_admin.tb_hospital_zone_license,ipharmacare_admin.tb_hospital_license

Replicate_Wild_Do_Table: ipharmacare_admin.%

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 1003623481

Relay_Log_Space: 1003624042

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: NULL

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 1

Master_UUID: a8ddc479-8862-11e2-b6df-2761731e3dd6

Master_Info_File: /mnt/mysql/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State:

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

1 row in set (0.00 sec)

结论:由上可知数据同步延迟很多,且希望重新做主从,使得主从在数据上保持完全同步.

先进入主库,进行锁表,防止数据写入

[[email protected]] mysql> flush tables with read lock;

进行master数据备份

[[email protected]] cd /mnt/mysql/bakdata

[[email protected]] mkdir baksql

[[email protected]] cd baksql

[[email protected]] mysqldump ipharmacare_admin -uroot -p****** --opt> ipharmacare_admin.sql

或者:

mysqldump -uroot -p***** --default-character-set=utf8 ipharmacare_admin > ipharmacare_admin.sql

打包数据(可选)

[[email protected]] 7za a ipharmacare_admin_20160505.7z ipharmacare_admin.sql

把mysql备份文件传到从库机器,进行数据恢复

[[email protected]] cd /usr/downloads/

[[email protected]] scp [email protected]:/mnt/mysql/bakdata/ipharmacare_admin_20160505.7z ./

[[email protected]] 7az x ipharmacare_admin_20160505.7z

[[email protected]] mysql -uroot -p*****;

[[email protected]] mysql> drop database ipharmacare_admin;

[[email protected]] mysql> CREATE DATABASE ipharmacare_admin DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

[[email protected]] msyql> source baksql.sql;

更新/设置同步进度点

[[email protected]] change master to master_host=‘master.mysql.ipharmacare.org‘, master_user=‘slave‘, master_port=3306, master_password=‘************‘, master_log_file=‘mysql-bin.000014‘, master_log_pos=170017372;

注意:

1) 做了MySQL主从复制以后,使用mysqldump对数据备份时,一定要注意按照如下方式:

[[email protected]] mysqldump –master-data –single-transaction –user=username –password=password dbname> dumpfilename

这样就可以保留file和position的信息,在新搭建一个slave的时候,还原完数据库,file和position的信息也随之更新,接着再start slave 就可以很迅速的完成增量同步。

2) 忘记主从复制时,对从库用户密码时,可以这样去重置:

[[email protected]] GRANT REPLICATION SLAVE ON *.* TO [email protected] IDENTIFIED BY ‘slave‘;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值