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 statusG; // 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)