mysql数据库主从复制教程

mysql主从复制教程

 

架构规划:

192.168.201.150     master     主节点

192.168.201.154     slave      从节点

 

1、 修改mysql的配置文件(主节点,从节点都要修改)

[root@localhost mysql]#  vim /etc/my.cnf

 2 、分别在配置文件中添加以下配置

复制代码
mysql(master):主节点
       server-id=1
       log-bin=mysql-bin
       log-slave-updates
       slave-skip-errors=all
mysql(slave):从节点 ,从节点监听的是主节点的日志
       server-id=2
       log-bin=mysql-bin  //日志的名字叫mysql-bin
       log-slave-updates  //设置主节点有更改时从节点自动更新
       slave-skip-errors=all  //从节点跳过所有错误的日志
注意:两个机器的server-id不能一样
复制代码

 3 、重启mysql服务

 [root@localhost mysql]#  systemctl restart mysqld

 4、登陆mysql执行如下命令检查配置是否生效(主节点、从节点都可以检查)

 mysql >  SHOW VARIABLES like 'server_id';

 5、登陆master主节点执行如下命令(在主节点上操作)

mysql >  show master status;  //查看主节点mysql日志状态

 6 、登陆slave从节点执行如下命令(在从节点上操作)

    mysql > change master to
            master_host='192.168.201.150',  //主节点IP地址
            master_user='root',  //主节点数据库用户名
            master_password='xxx',  //主节点数据库的密码
            master_log_file='mysql-bin.000001', //上图中的file名字
            master_log_pos=154;  //上图中position的数字
注意:如果这些内容写错的话,可以重新修改后再执行,系统会以最后一次执行内容为准

 

 7 、开启从节点同步(在从节点上操作)

         mysql >  start slave;  //开启从节点同步

         mysql >  stop slave;  //停止(关闭)主从复制

 8、查看从节点同步状态(在从节点上操作)

         mysql >  show slave status; 

         或者mysql >  show slave status\G;  // \G表示格式化

 

  注意:

         1.出现Slave_IO_Running:Connecting或Yes和Slave_SQL_Running:Yes 说明主从复制设置成功

         2.如果在搭建过程出现错误,可以查看错误日志文件 cat /var/log/mysqld.log

         3.如果出现Slave I/O:Fatal error:The slave I/O …..these UUIDs must be different for …Error_code:1593错误,请执行如下命令,rm –rf /var/lib/mysql/auto.cnf删除这个文件,之所以会出现这种问题,是因为我的从库主机是克隆的主库的主机,所以auto.cnf文件中保存的UUID会出现重复。删除后,重启动mysqld服务会自动生成一个新的auto.cnf

 

9、通过客户端工具进行测试即可,(如Navicat Premium)

 

posted @   千里走单琦  阅读(264)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示