step1) 修改master 配置(/etc/mysql/my.cnf)
[mysqld]
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
step2) 修改 slave mysql 配置
[mysqld]
server-id = 2
保证 局域网内 server-id 唯一性
step3) 链接 slave to master
change master to master_host='10.1.6.159',master_port=3306,master_user='rep',
master_password='123456';
start slave;
其中 master-host 为master 主机 ip , master_user master_password,
为master 上创建的用于复制的用户,创建方式如下
CREATE USER 'rep'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'rep'@'%';
problem1) slave 不能连接 master
表现为 telnet master 3306 不同
解决: 需要注释掉 master band-address 字段, master 绑定为主机访问了
配置文件位置:/etc/mysql/mysql.conf.d/mysqld.cnf
problem2) Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs
该问题的产生原因是 我的slave 主机是从master clone 过来的,解决方案:
找到 auto.cnf 文件
sudo find / -name auto.cnf 位置:/var/lib/mysql/auto.cnf
将 salve 主机上的该文件重命名 并重启mysql, mysql 会自动创建一个不同的 UUID