- ① 修改 master 配置文件
- ② 新建同步账号
- ③ 创建数据库
- ④ 修改 slave 配置文件
- ⑤ 配置主从关系
- ⑥ 检验主从结果
角色 | ip |
---|---|
master | 192.168.233.100 |
slave1 | 192.168.233.101 |
slave2 | 192.168.233.102 |
禁用 selinux 跟 firewal l情况下:
① 修改 master 配置文件
vim /etc/my.cnf
log_bin = /var/lib/mysql/new_bin # 修改binlog存放地址
expire_logs_days = 7 # 修改binlog删除天数
max_binlog_size = 100M # 修改binlog文件大小
server-id = 1 # 表示服务器标识id号,master和slave主机的server-id不能一样
binlog-do-db = testdb1 #表示需要复制的数据库
# binlog-ignore-db 表示不需要复制的数据库
systemctl restart mysqld # 修改完重启服务
新路径已修改为 /var/lib/mysql/new_bin
master 节点信息
② 新建同步账号
在 master 节点新建同步账号
mysql> create user 'tongbu'@'192.%' identified by '12345678';
Query OK, 0 rows affected (0.00 sec)
mysql> grant replication slave on *.* to 'tongbu'@'192.%';
Query OK, 0 rows affected (0.00 sec)
③ 创建数据库
在 master 与 slave 节点创建数据库
create database ma_db;
④ 修改 slave 配置文件
vim /etc/my.cnf
server-id = 2
expire_logs_days = 7
max_binlog_size = 100M
systemctl restart mysqld # 修改完重启服务
⑤ 配置主从关系
在 slave1 节点配置
change master to
master_host='192.168.233.100', --表示实现复制的主机的IP地址
master_user='tongbu', --表示实现复制的登录远程主机的用户
master_password='12345678', -- 表示实现复制的登录远程主机的密码
master_log_file='new_bin.000001', --表示实现复制的binlog日志文件,填master的file
master_log_pos=120 --表示实现复制的binlog日志文件的偏移量,填master的Position
;
show slave status \G; --查看 slave1 情况
发现错误: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.
原因:从服务器是复制主的,导致id相同
修改 /var/lib/mysql/auto.cnf 使主从不一样即可,重启服务