mysql做主从复制

本文介绍了如何在不停止业务的情况下,进行MySQL主从复制以备份数据,详细阐述了数据备份过程,包括避免锁库的操作及其可能带来的数据丢失风险。同时,讨论了在主从同步过程中遇到的错误及解决办法,如1032错误的处理,并给出了主从库配置的步骤和注意事项,确保数据的一致性。
摘要由CSDN通过智能技术生成

  公司的生产mysql已经运行很久了,最近打算把公司的生产库做个主从复制以达到备份数据的效果;

  简单说下步骤:

一:将现有生产库备份一下,可用图形化工具导出数据库表和数据,或者使用命令来将数据库导出,命令方式如下:

理论应该使用:FLUSH TABLES WITH READ LOCK 导出之前应该将表锁定;以确保在导出数据过程中产生新的数据

查看主库状态:show master status;

通过命令mysqldump -u username -p database >文件名.sql

将数据导出备份成功之后再回到主库并执行:UNLOCK TABLES以解锁主库,

不过此处由于工作一直在进行中且只有一个生产库所以不做锁库操作,直接进行数据备份

这样的坏处在于还原备份数据的时候,开启binLog同步可能会和主库之间有部分数据丢失;

这部分暂时可以考虑弥补之法,从备份之前查询一次主库状态show master status查看当前log记录位置,

备份好slave之后,开启数据自动同步之前再查一次主库状态show master status查看当前log记录位置,则两个log位置之间的差值

即为两个数据库数据的不同步部分,这些数据可补偿方式可以继续研究……

二:查看主库状态show master status,将其中的数据和下面的进行替换

change master to master_host='ipaddr',master_user='root',master_password='password',
         master_log_file='主库的File',master_log_pos=793402911;

start slave;开始执行同步

SHOW SLAVE STATUS;查看从库同步主库状态

只有这两个都为Yes时则同步数据正常;否则查看Last_error定位具体原因;

Last_SQL_Error: Could not execute Update_rows_v1 event on table buy_online.tp_coupon_list; Can't find record in 'tp_coupon_list', Error_code: 1032;

handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.001937, end_log_pos 1489688

当出现这个错误时,查看具体错误原因,如需要跳过此类错误则:

并重启数据库,然后start salve;

此时再SHOW SLAVE STATUS则发现同步正常了。

强调:1032的错误本身对数据一致性没什么影响,影响最大的是造成了同步失败、同步停止。

至于主库和从库的配置,如下:

vi /etc/my.cnf  新增以下内容

server_id=1  ###服务器id这个数字没有限制,不要在同一个集群环境中相同就行

log-bin=mysql-bin   ###开启日志文件

重启mysql服务 service mysqld restart

验证是否已经配置成功

show variables like '%server_id%';

能够查询对应配置文件中的server_id 说明已经配置成功

show master status;

能够看到同步的文件,和行数 说明已经配置成功。

从库配置:

vi /etc/my.cnf

server_id=2  ###从服务器server_id

log-bin=mysql-bin  ###日志文件同步方式

binlog_do_db=test   ###同步数据库

重启mysql服务 service mysqld restart

验证是否已经配置成功

show variables like '%server_id%';

能够查询对应配置文件中的server_id 说明已经配置成功

start slave:注意在开启主从同步的时候,如果报错

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

datadir目录下查看auto.cnf,是否和主库重复,修改或删掉从节点此文件都行。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值