千家信息网

MySQL如何搭建主从同步实现操作

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,小编给大家分享一下MySQL如何搭建主从同步实现操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、MySQL 8.0
千家信息网最后更新 2025年01月18日MySQL如何搭建主从同步实现操作

小编给大家分享一下MySQL如何搭建主从同步实现操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、MySQL 8.0 主从同步

主从同步的流程(原理):

  • master 将变动记录到二进制日志文件(binary log)中,即配置文件中 log-bin 指定的文件,这些记录叫做二进制日志事件(binary log events);

  • master 将二进制日志文件发送给 slave;

  • slave 通过 I/O 线程读取文件中的内容写到 relay 日志中;

  • slave 执行 relay 日志中的事件,完成数据在本地的存储。

搭建主从需要注意的事项:

  • 主从服务器操作系统版本和位数一致;

  • MasterSlave 数据库版本要一致;

  • Master 和 Slave 数据库中的数据要一致;

  • Master 开启二进制日志, Master 和 Slave 的 server_id 在局域网内必须唯一。

二、MySQL主从搭建

2.1 Master 上的操作

修改 master 的配置( my.cnf)加入下面的内容:

[mysqld]  log-bin=mysql-bin  # id 必须唯一!!!  server-id=1

重启 master:

systemctl restart mysql

在 master 中创建用于主从同步的用户:

mysql> # 创建用户mysql> CREATE USER 'hugh'@'%' IDENTIFIED WITH mysql_native_password BY '123456';mysql> # 授权用户mysql> GRANT REPLICATION SLAVE ON *.* TO 'hugh'@'%';mysql> # 刷新权限mysql> FLUSH PRIVILEGES;

查看主服务器状态:

show master status;

记录下 FilePosition 的值,之后要用到。

2.2 Slave 上的操作

修改slave 的配置( my.cnf)加入下面的内容:

[mysqld]  # id 必须唯一!!!  server-id=2

重启 slave:

systemctl restart mysql

登录 MySQL 并运行以下命令,设置主节点参数:

mysql> CHANGE MASTER TOMASTER_HOST='master的IP地址',MASTER_USER='hugh',MASTER_PASSWORD='123456',MASTER_LOG_FILE='binlog.000006',MASTER_LOG_POS=856;

最后两行就是我们记录下的 FilePosition 的值。

查看主从同步的状态:

mysql> show slave status\G;

检查下面的信息,都为 yes 才代表搭建成功:

Slave_IO_Running: YesSlave_SQL_Running: Yes

以上是"MySQL如何搭建主从同步实现操作"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0