mysql主从复制(一主一从)配置,uuid重复,数据库主从复制失败

mysql主从复制(一主一从)

主机配置

1.修改配置文件(/etc/my.cnf)

vim /etc/my.cnf

配置文件添加内容:

log-bin=mysql-bin # 启用二进制
server-id=100 # 服务器唯一标识

2.给从库授权用户
(1)查看用户密码强度等级命令:

select @@validate_password_policy;

(2)授权一个用户给slave使用

GRANT REPLICATION SLAVE on *.* to 'xiaoming'@'%' identified by 'root@123456';

(3)查看master状态

show master status

在这里插入图片描述
这里的file和positon的内容都是可以变化的,并且在从库中也会使用到。这时就不要做任何的操作。直接去配置从库。
这里容易有一个坑就是:密码设置错误。可能自己设置的密码简单,可以将密码改的复杂或者去改密码强度策略设置简单的密码
注意:xiaoming:用户名 %:ip地址 root@123456:密码 这些都可以根据自己的习惯进行设置

从库配置(另一个数据库服务器)

1.修改配置文件(/etc/my.cnf)

vim /etc/my.cnf

配置文件添加内容:

server-id=11 # 服务器唯一标识

id可以随便设置,但是每个服务器要不同。保证他们的唯一性就可

2.登陆mysql,执行以下sql

change master to master_host='192.168.137.143',master_user='xiaoming',master_password='root@123456',master_log_file='master_log.000003',master_log_pos=154;

这里的值都是根据自己的情况进行更改。

3.启动slave

start salve

4.查看状态

show slave start

这时就配置好了。可以去测试了。

遇见的错误:
1.克隆Linux虚拟机服务器,导致mysql主从复制关于UUID重复,出现Slave_IO_Running: Connecting /Slave_IO_Running: No错误。
解决办法:删除/var/lib/mysql下的auto.cnf文件。然后重启mysql服务。

cd /var/lib/mysql
rm -rf auto.cnf
systemctl restart  mysqld

问题解决。再次登录msyql。查看slave的状态。就是正常的waite状态了。

2.配置好后。错误指令导致从库没有更新主库的sql语句。
在这里插入图片描述
由于开始并未配置成功就执行了create database user。这时从库并未更新这个user库。导致在创建表时发生错误。这时只需要将报的错误改过来即可。试例:缺少数据库就在从库中添加库。缺少字段就在从库添加字段。 修改错误后重启(start slave)。其他的sql语句都会自动的更新到。


版权声明:本文为qq_53270893原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。