虚拟机ip

master :192.168.159.128

slave    :192.168.159.129

slave     :192.168.159.130

一.master  主机

1. 修改my.cnf配置文件添加

 log-bin=mysql-bin
 server-id=998

2.赋权登入账号权限

use mysql;

grant replication slave on *.* to db_user@'192.168.159.129' identified by '123456';

grant replication slave on *.* to db_user@'192.168.159.130' identified by '123456';

flush privileges;

 3.查看master的标识

show master;

这里产生的File 和Positon 这个两个字段的值在slave 服务上会用到。

二。slave 配置

1.修改my.cnf

log_bin=mysql-bin

server-id=1001 

log_slave_updates=1
read_only=1
replicate-do-db=db1
replicate-ignore-db=mysql

 

注意两台slava机器的server-id 要不一样 而且 与主机也要不一样

修改了配置文件都要重启mysql

2.配置连接master数据库的参数

change master to
master_host='192.168.159.128',
master_user='db_user',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=628;

红框标识的是master服务器产生的参数。

3.启动slave 链接服务

stop slave;

start slave;

show slave status \G;

红框的参数是yes 就表示成功了。

测试部分自行解决 

这里提供自己搭建的几个错误解决方案


1.虚拟机复制过去会出现 Slave_IO_Running: No
原因:/data/mysql/auto.cnf 文件的系统id slave ID和master ID相同
方法: 删除slave 的auto.cnf 文件

2。slave 的日志提示Master command COM_REGISTER_SLAVE failed: Access denied for user 'db_user'@'192.168.159
原因: slave 登入账号的权限问题
方法:在mater主机的mysql中授权
grant replication slave on *.* to db_user@'192.168.159.130' identified by '123456';