1.修改第一台master mysql配置文件,在my.conf最下面增加这两行(server-id不要重复就行)
#主从复制
log-bin=mysql-bin
server-id=59
2.修改第二台salve mysql配置文件,在my.conf最下面增加这两行
#主从复制
log-bin=mysql-bin
server-id=60
3.在第一台中创建一个用于主从复制的用户 执行下面sql
GRANT REPLICATION SLAVE ON *.* TO 'salve'@'192.168.100.39' IDENTIFIED BY '1qAz@#dd';
4.查看主库状态
show master status;
5.在从库执行下面语句
CHANGE MASTER TO
--主库地址
MASTER_HOST='192.168.100.38',
MASTER_USER='salve',
MASTER_PASSWORD='1qAz@#dd',
--主库状态 和上面查询主库的值对应
MASTER_LOG_FILE='mysql-bin.000005',
MASTER_LOG_POS=467;
--启动主从复制
start slave;
--查看从库状态
show slave status;
在从库执行 show slave status;出现如下说明主从复制OK
创建test库
主从库都创建成功
遇到问题
我在srtart slaves;后发现Slave_IO_Running: No Slave_SQL_Running: Yes
然后:
Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
原来是我两台虚拟机的是直接复制过来的,mysql是的datadir下的auto.cnf文件被直接复制过来了,导致UUIDs相等,所以无法开启slave;我们只要保证auto.cnf文件里的内容不一致就行了