1.安装一台centos7,并且装好数据库,然后使用vm克隆出一台,所以有两台
192.168.73.131
192.168.73.132
2.使用navicat工具分别连接两个远程数据库
3.主数据库192.168.73.131配置--配置my.cnf文件配置
4.在配置文件的最后添加以下内容
#开启二进制日志
log-bin=mysql-bin
#设置server-id
server-id=1
5.在从数据库的配置文件配置
6.配置以下内容内容
server-id=2
7.回到navicat工具,新建一个查询,主数据库运行
grant replication slave on *.* to 'rss'@'%' identified by '123456'
解释:创建账号rss和密码为123456的账号用于主从复制
SHOW MASTER STATUS
运行结果
解释:查看主节点的状态,因为使用的是二进制文件的方式,所以需要使用到日志文件的名称和当前使用的位置,即File和Position,后面会使用到
8,从服务器运行一下命令
CHANGE MASTER TO MASTER_HOST='192.168.73.131', MASTER_USER='rss',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=120;
前提:先关闭slave节点,否则报错
解释: 根据前面在主服务器上创建的账号和密码远程登录主机,其中MASTER_LOG_FILE和MASTER_LOG_POS对应主服务器的内容,前面已经提醒这里会用到
9.开启从服务器的slave节点复制进程
START SLAVE
10.查看从服务器节点状态
SHOW SLAVE STATUS
结果展示:当下图的Slave_IO_Runing和Slave_SQL_Runing为yes即为成功
11.报错结果:对应查看原因的字段都为 Last_IO_Error
终端显示:
navicat显示:
12.原因分析
因为第二台虚拟机是由第一台克隆出来的,同时具备第一台的特性,包括mysql服务器的UUID
13.解决方案
修改/etc/my.cnf文件里面的UUID,确保两台机器不一致
閱讀更多 動作要快姿勢要帥 的文章