mysql(4)-主从复制

本次配置两台数据库服务器主从
192.168.72.133作为主服务器
192.168.72.129作为从服务器

1.说明

mysql复制的有点包括3各方面:
1.如果主服务器出现问题,可以快速切换到从服务器提供服务;
2.可以在从服务器执行查询操作,降低主服务器的压力;
3.可以在服务器上执行备份,以避免备份期间影响主服务器的服务性能。
一般只有更新不频繁的数据或者对实时性要求不高的数据可以通过从服务器查询,实时性要求高的数据仍要从主服务器获取。

2.主服务配置

1.给从服务器设置授权用户
grant
2.修改主服务器的配置文件my.cnf,开启binlog,并设置server-id的值。
log-bin=mysql-bin
server-id=1
3.在主服务器上设置读锁定有效,确保没有数据库操作,以便获得一个一致性的快照
flush tables with read lock
4.查看主服务器上当前二进制日志文件名和偏移量值
show master status
5.主服务器停止更新操作,生成主数据库的备份
6.数据库备份完毕之后,主数据库可以恢复写操作,剩下的操作只需要在从服务器上执行
unlock tables
7.把主数据库的一致性备份恢复到从数据库上,把备份的压缩包解压到相应的目录即可。

3.从服务器配置

修改数据库的server-id,server-id的值必须是唯一的不能和主服务器的配置相同,如果有多个从服务器,每个从服务器必须有自己的server-id值。

4.主从配置

192.168.72.133主服务/etc/my.cnf文件添加

log-bin=mysql-bin开启binlog日志
server-id=1

这里还有很多的配置,如同步哪些数据等。
这里写图片描述

主服务授权从服务的用户user1(具体操作详见mysql(1)-用户授权文章)

这里写图片描述

192.168.72.129从服务
配置

log-bin=mysql-bin开启binlog日志
server-id=2每个服务独立
master-host为主服务器的ip
master-user为主服务器授权用户
master-password为主服务器授权用户的登录密码
master-port为主服务器端口号

这里写图片描述

配置完成后,重启两个mysql服务器。

5.主从演示

从服务器操作

show slave status\G
查看从服务器的状态

这里写图片描述

Slave_IO_Running:Yes
Slave_SQL_Running:Yes
表示配置成功
Connect_Retry:60表示每60秒会从133服务器同步一次log日志

主服务器创建hadoop1_test1表,插入一条数据:

这里写图片描述

从服务器查看数据表,hadoop1_test1已经创建:

这里写图片描述

从服务器查看数据表数据,数据也已经同步:

这里写图片描述


主服务器刷新binlog日志,最新的日志为mysql-bin.000007

这里写图片描述

从服务器同步的binlog日志信息也会变更为mysql-bin.000007

这里写图片描述

但是从服务器自己生成的binlog日志不一定和主服务器的一致,如此处从服务器自己的binlog日志为mysql-relay-bin.000012


上面是从服务器是通过配置文件的形式进行设置的,也可以动态的去设置这些配置:

mysql>stop slave;
mysql>change master to master_host = ‘192.168.72.133’,
master_user = ‘user1’,
master_password = ‘1234’,
master_port = 3306,
master_log_file = ‘mysql-bin.000001’,
master_log_pos = 120;
mysql>start slave;
mysql>show slave status;

6.注意问题

笔者曾经遇到一个问题,在配置从服务器配置文件的时候配置的不对,如:将192.168.72.133配置成了192.168.72.129。

这里写图片描述

这样导致查看状态的时候出现问题,于是去修改/etc/my.cnf为正确的ip地址,然后重启mysql服务,查看状态,仍然显示错误的ip。当时以为是缓存问题,甚至重启了服务器,仍然无效。后来查了一些资料,发现之前的操作都不对,mysql提供了修改配置的命令:

这里写图片描述

这里写图片描述

最后搭建成功
失败乃成功之母

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值