mysql 主从复制 博客园_mysql 主从复制

之前mysql安装已经写过,这里不再做重复工作。

这里我准备了两台虚拟机(192.168.40.128:mini1 192.168.40.130:mini2),分别配置分别在此环境下创建账户mini1、mini2

CREATE USER ‘username'@'localhost' IDENTIFIED BY ‘userpassword';

创建好账户后,需要为账户赋予远程访问的权限

b79b73378e5c5b685c70c2814bd42d26.png

权限修改完记得刷新。

我们这里以192.168.40.130为从机,以192.168.40.128为主,分别修改他们的配置文件

vi /etc/my.cnf 先加入log-bin=mysql-bin   #开启二进制日志配置

7a330543bf51954f517fb78c3d3cff7a.png

这里的server_id两台机器必须不同,其他无所谓,binlog-do-db此项是需要同步的数据库,我这里配置就是需要同步test,两台机器配置需相同,还有一些其他配置,感兴趣的可以去查查,我这里只为演示列出最基本的4个,不影响环境搭建

(注:两台机器需要同步的数据库中的表必须完全相同,不然会导致数据回滚,slave关闭运行,如果遇到可以查看数据回滚的报错信息来分析,如果数据添加失败可以通过“show slave status\G”命令查看到错误原因)

两台机器环境都重启ok后,下一步需要在主机器上输入“show master status”命令来查看主及的二进制文件和position

6b3023ccdff8d3ec72a7dfa3f1383cb6.png

得到主机器的二进制文件名称和position后,去从机192.168.40.130停掉slave:

c37fabfda44a391093710fd8a16d978d.png

成功停止slave后,就可以修改master的配置项了,其中master_host为主机的ip, master_user为可以登录主机的用户, master_password主机账号密码, master_log_file刚才在主机查到的二进制文件名, master_log_pos刚才在主机查到的position

(切记:这里在从机上修改的master配置参数全是来自需要同步数据的主机,写错的话之后的Slave_IO_Running:就会显示NO)

全部配置妥当后,启动slave

start slave;

启动好后,输入“show slave status\G”命令可以看到slave的相关状态,其中的Slave_IO_Running和Slave_SQL_Running必须都为yes,不然数据同步不会成功。

7fba668ab28d0b1eabf1c0aff33bf607.png

一切显示正常了,这里做个测试,看是否可以同步数据成功:

这里我在192.168.40.128上执行插入语句:

821c9ccfce09cc42604c2492f7b2b056.png

在从机192.168.40.130上查询:

d8cf72f6767926b665b38b9d1e4d2fc8.png

可以看到数据已经从主机同步过来,表示主从复制已经成功。

(注:如果想要实现主主复制,两台机器都可以实现插入同步,只要将以上操作反过来以192.168.40.130为主再执行一遍即可成功完成,不过主主的形式还是不建议使用,会降低效率!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值