MySQL 搭建主从同步实现操作

吾爱主题 阅读:172 2024-04-02 18:54:27 评论:0
目录
  • 一、MySQL8.0主从同步
  • 二、MySQL主从搭建
    • 2.1Master上的操作
    • 2.2Slave上的操作

一、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)加入下面的内容:

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

重启 master:

?
1 systemctl restart mysql

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

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

查看主服务器状态:

?
1 show master status;

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

2.2 Slave 上的操作

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

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

重启 slave:

?
1 systemctl restart mysql

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

?
1 2 3 4 5 6 mysql> CHANGE MASTER TO MASTER_HOST= 'master的IP地址' , MASTER_USER= 'hugh' , MASTER_PASSWORD= '123456' , MASTER_LOG_FILE= 'binlog.000006' , MASTER_LOG_POS=856;

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

查看主从同步的状态:

?
1 mysql> show slave status\G;

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

?
1 2 Slave_IO_Running: Yes Slave_SQL_Running: Yes

到此这篇关于MySQL 中的主从同步实现操作的文章就介绍到这了,更多相关MySQL 主从同步内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_39330486/article/details/122760991

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容