MySql数据同步

MySql数据同步,参考:

一、环境要求

Mysql 的版本尽量保持一致,如果不一致,
那么从服务器的版本不能高于主服务器的版本。 
主服务器 id:192.168.0.20
从服务器 id:192.168.0.143 
关闭两个服务器的防火墙,以能够 ping 通为最佳:ping 192.168.0.20 

二、配置主要服务器的数据库

1、 编辑配置文件 在 /etc/my.cnf  文件中的【mysqld】下添加: 
 #启用二进制日志[主库必须启用,主服务器发送变更记录到从服务器依赖的时二进 制日志]
 log-bin=mysql-bin 
 #这是数据库 ID,此 ID 是唯一的,主库默认为 1,其他从库以此 ID 进行
 递增,Id 值 不能重复,否则会同步   出错 server-id=1   
 # 需要同步的数据库;如果需要多个依次添加就好   
 binlog-do-db=test    
 # 不需要同步的数据库; 
 binlog-ignore-db = mysql   innodb_flush_log_at_trx_commit=1  sync_binlog=1        	
 # 提示 1:如果你不配置 server-id 或者配置值为 0,那么主服务器将拒绝 所有从服务器的连接。     
 # 提示 2:在使用 InnoDB 的事务复制,为了尽可能持久和数据一致,你应 该在 my.cnf 里配置
 innodb_flush_log_at_trx_commit=1 和 sync_binlog=1;       
 # 提示 3:确保主服务器里的 skip-networking 选项未启用,如果网络被禁 用,你的从服务器将
 不能与主服务器通信并且复制失败。 
 
2、 重启 mysql 使配置生效 Service mysql restart 
 
3、 进入 mysql 终端 Mysql –uroot –proot 
 
3.1、新建复制账号  CREATE USER 'slaveUser'@ '192.168.0.%' IDENTIFIED BY'123456'; 
 
3.2、赋予权限 grant replication slave on *.* to'slaveUser'@'192.168.0.%' identified by'123456';    
这里我的用户是 slaveUser,因为后面两台服务器都在 0 网段,所以我这里新 建用户也限制在 0 
网段连接,如果不想限制可以写成@'%'形式 。

4、 查看 master 状态 
	Show master status 
	

如图所示

三、配置从服务器的数据库

1、 编辑配置文件
在 /etc/my.cnf 文件中的【mysqld】下添加:

server-id=2
replicate-do-db=test #需要同步的数据库
replicate-ignore-db=mysql read-only #需要忽略的数据库
*
提示 1:如果有多个从服务器,每个服务器的 server-id 不能重复,
跟 IP 一样是 唯一标识,如果你没设置 server-id 或者设置为 0,则
从服务器不会连接到主服务器。 #
提示 2:一般你不需要在从服务器上启用二进制日志,如果你在从
服务器上启用 二进制日志,那你可用它来做数据备份和崩溃恢复,
或者做更复杂的事情(比如这个从 服务器用来当作其它从服务器的
主服务器)。*

2、 重启 mysql 使配置生效

Service mysql restart

3、 进入 mysql 终端修改 slave 参数

Mysql –urooot –proot
3.1、停止 slave
Stop slave;
.
3.2、修改 slave
CHANGE MASTER TO MASTER_HOST=‘192.168.0.20’,MASTER_USER=‘slave
User’,MASTER_PASSWORD=‘123456’,MASTER_LOG_FILE=‘mysql-bin.000007’,MAS
TER_LOG_POS=1080
这里的 MASTER_LOG_FILE 和 MASTER_LOG_POS 就是主服务器的 file 和 position 的值
.
3.3、启用 slave
Start slave;

4、 查看 slave 是否生效

Show slave status\G;
如图所示
这里如果两项都是 Yes 代表设置成功 如果此处:slave_IO_Running 为 no,可能是防
火墙未关闭、网络不通、用户名密码不对。

四、测试

在主服务器需要同步的数据库里新建表和数据,从库会自动复制 如果需要新增第二台从库,请重复从库配置

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值