0
点赞
收藏
分享

微信扫一扫

mysql 主从同步

无愠色 2023-06-12 阅读 44

角色ip
master192.168.233.100
slave1192.168.233.101
slave2192.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 使主从不一样即可,重启服务

⑥ 检验主从结果

在这里插入图片描述

举报

相关推荐

0 条评论