搭建Mysql主从复制
主从复制准备三台MySQL8数据库服务(使用虚拟机完成)通过Vmware链接克隆三台机器启动三台机器master:192.168.0.109slave1:192.168.0.108slave2:192.168.0.110通过CRT连接搭建主从复制master、slave1、slave2修改默认配置文件vim/etc/my.cnf每个文件的id均不同,其它三样配置一样master: server-i
·
主从复制
-
准备三台MySQL8数据库服务(使用虚拟机完成)
通过Vmware链接克隆三台机器 -
启动三台机器
master:192.168.0.109
slave1:192.168.0.108
slave2:192.168.0.110 -
通过CRT连接
-
搭建主从复制
master、slave1、slave2修改默认配置文件
vim /etc/my.cnf
每个文件的id均不同,其它三样配置一样
master: server-id=1
slave1: server-id=3
slave2: server-id=5
server-id=1 #节点唯一标识,不要与其它节点重复
log-bin=mysql-bin #指定日志文件名字
log-slave-updates #是否根据日志的变化同步数据
slave-skip-errors=all #从节点同步过程中是否跳过错误
- 重启Mysql服务检测配置是否生效
SHOW VARIABLES like 'server_id';
- 在master节点中执行如下命令:
show master status;
获取信息:
- 日志文件名称 日志文件变化的位置
mysql-bin.000002 | 156
- 在所有slave节点中执行如下命令:
change master to
master_host ='master节点ip',
master_user='Mysql用户名',
master_password='密码',
master_log_file='日志名称',
master_log_pos=日志变化的位置(数字);
# 下面是我的配置
change master to
master_host ='192.168.0.109',
master_user='root',
master_password='root',
master_log_file='mysql-bin.000002',
master_log_pos=156;
- 在从节点继续执行如下命令:
start slave; //开启主从复制
stop slave;//停止主从复制
- 查看主从复制是否成功,在从节点执行如下命令:
show slave status;
- 问题出现
①出现问题:Last_IO_Errno: 2061
原因:加密方式和解密方式不一致
解决:修改密码加密规则.进入mysql控制台
ALTER USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES; //刷新权限
重启MySQL服务
Linux执行:
systemctl restart mysqld;
进入MySQL重启slave
mysql -uroot -proot
start slave
show slave status\G;
②接着又出现了一个问题:
Last_IO_Errno: 13117
因为主服务器和从属服务器具有相同的MySQL服务器UUID;这些UUID必须不同,复制才能工作
克隆的机器才会出现此问题
解决:删除掉这些UUID
rm -rf /var/lib/mysql/auto.cnf
然后重启:
reboot
重启之后查看状态:
mysql -uroot -proot
start slave
show slave status\G;
- 出现如下状态代表成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
然后,你去master里面的数据库进行修改,另外两个数据库的数据也会跟着同步。
更多推荐
已为社区贡献3条内容
所有评论(0)