当前位置: 代码网 > it编程>数据库>Mysql > Mysql中的多级复制方式

Mysql中的多级复制方式

2024年05月28日 Mysql 我要评论
mysql的多级复制有3台mysql服务器x、y、z,存在以下关系:x、y之间存在主从复制关系,x为主服务器,y为从服务器。y、z之间存在主从复制关系,y为主服务器,z为从服务器。其中,y既作为x的从

mysql的多级复制

有3台mysql服务器x、y、z,存在以下关系:

  • x、y之间存在主从复制关系,x为主服务器,y为从服务器。
  • y、z之间存在主从复制关系,y为主服务器,z为从服务器。

其中,y既作为x的从服务器,又作为z的主服务器。

x与y的主从配置可以参考:

mysql数据库的主从同步配置

下面主要做y和z的同步配置:

(需要保证主从服务器版本的一致性,从服务器mysql版本不能低于主服务器)

1.在主服务器中创建复制用户

mysql> create user 'copy'@'%' identified by 'copy123456';
mysql> grant replication slave on *.* to 'copy'@'%';

2.修改主服务器中的配置文件

ubuntu中的配置文件路径为:
/etc/mysql/my.cnf
 
windows中的默认配置文件路径为:
c:\programdata\mysql\mysql server 8.0\my.ini

以下为修改示例:

[mysqld]
server-id=104538
#服务器id
 
log_slave_updates=1
#log_slave_updates设为on,把在主服务器那里接收到的更新,记录到自己的二进制日志中
 
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=sys
binlog-ignore-db=performance_schema
#设置忽略同步的数据库(这里也可以设置需要同步的数据库名)

3.修改完成后

重新启动主服务器mysql服务器

这里具ubuntu操作系统的例子,在命令行输入:

service mysql restart

4.为主数据库中的表加上读锁定以避免主数据库的更改

(如果能保证在数据库配置期间不对主数据库进行变更,可以跳过这一步)

在数据库上加上读锁定。

mysql> flush tables with read lock;

所有配置完成之后,释放锁定(下面这条语句暂时不执行,在主从同步配置完成之后再释放)

mysql> unlock tables;

5.使主从数据库的数据保持一致

有很多种方法可以实现这一步。

(这里使用了navicate for mysql的“数据传输”功能)

6.获取主服务器当前的二进制日志文件名和位置

在主服务器mysql运行以下命令:

show master status;

7.在从服务器上设置源配置

change replication source to
source_host='source_host_name',
source_user='replication_user_name',
source_password='replication_password',
source_log_file='recorded_log_file_name',#上图的file
source_log_pos=recorded_log_position;#上图的position

mysql 8.0.23之前的版本使用如下语句:

change master to
master_host='source_host_name',
master_user='replication_user_name',
master_password='replication_password',
master_log_file='recorded_log_file_name',
master_log_pos=recorded_log_position;

8.在从服务器上启动主从同步

start slave;

9.查看状态

show slave status;
 
#如果slave_io_state为:waiting for source to send event
#且slave_io_running和slave_sql_running都为yes
#则代表主从同步正在正常运行

如果出现异常或错误,可以查看错误信息,再对应解决:

可参考:

mysql的错误日志查看

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com