MySQL主从同步

环境:

MySQL8.0

master:Centos7 IP: 172.172.0.2

slave:Centos7 IP: 172.172.0.3

主库配置:

vi     /etc/my.cnf

编辑配置

[mysqld]
log-bin=mysql-bin
server-id=2    #根据IP 2最后一位

添加用于同步的数据库账号

use mysql;
create user 'repl'@'%' identified by 'Test@1234';
grant replication slave on *.*  to 'repl'@'%';
flush privileges;

显示主库状态

show master status;

从库配置:

vi /etc/my.cnf
server-id=3

添加主从同步账号

use mysql;
create user 'repl'@'%' identified by 'Test@1234';
grant replication slave on *.*  to 'repl'@'%';
flush privileges;
change master to master_host='172.172.0.2',
master_port=3306,
master_user='repl',
master_password='Test@1234',
master_log_file='mysql-bin.000001',
master_log_pos=862;
start slave;   #启动主从同步

常见问题处理:

问题1:show slave status\G


解决方法:
使用复制账号在从库登录一次

mysql -u repl -p -h 172.172.0.2

问题2:在从库上


这个是由于从库服务器采用的克隆产生的,mysql的唯一标识和主库一致

解决方法:
删除UUID,重启服务自动生成新UUID

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

问题3:数据库主从报Got fatal error 1236 from master when reading data from binary log: 'Could not open log file'

show slave status\G


解决方法:
master端:

show master status

记住file和position这两个选项

slave端:
进入mysql

stop slave
change master to master_log_file ='mysql-bin.000001',master_log_pos=1063; #从1063记录点开始同步
start slave
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容