一、查看资源配置
MySQL 主从复制官方文档:http://dev.mysql.com/doc/refman/5.6/en/replication.html
主机名 | 操作系统版本 | MySql版本 | 主机ip | Mysql Vip |
DB1(从) | CentOS 7.9 | mysql 8.0.30 | 192.168.225.138 | |
DB2(主) | CentOS 7.9 | mysql 8.0.30 | 192.168.225.137 |
1、查看操作系统版本
cat /etc/redhat-release![]()
2、查看mysql版本
mysql --version![]()
3、mysql的配置文件
mysql的配置文件:/etc/my.cnf
主机:
server-id = 1
log-bin=mysql-bin
从机:
server-id = 2
log-bin=mysql-bin

二、主机配置
ip地址:192.168.225.137
1、进入mysql设置
root 权限: su -
![]()

2、创建从机用户,赋予主机权限:
create user 'repl'@'192.168.225.138' identified with caching_sha2_password by '@Test123456';
grant all privileges on *.* to 'repl'@'192.168.225.138' with grant option;MySQL 8.0.4 开始,默认身份验证插件从 mysql_native_password 更改为caching_sha2_password
刷新授权表信息
mysql>flush privileges;
查看主机配置
show master status;

图中需加入caching_sha2_password 身份认证方式
记录 mysql.bin.000013 和 734 需要到从机中配置
注:
查看 skip_networking 的状态
确保在主服务器上 skip_networking 选项处于 OFF 关闭状态, 这是默认值。
如果是启用的,则从站无法与主站通信,并且复制失败。

查看目前已有的用户
use mysql;
select host,user,authentication_stringfrom user;
删除用户:
DROP USER 'api@localhost';
三、从机配置
ip地址: 192.168.225.138
配置:

注:上面对应的改为 master_log_file = 'mysql.bin.000013' 和 mastr_log_file = 734
加入:GET_MASTER_PUBLIC_KEY=1;
查看从机配置

Slave_IO_Runnig:Yes Slave_SQL_Running:Yes 表示成功
主从配置成功
四、从机做主机
ip地址:192.168.225.138
在主机创建从机用户,并赋于权限
create user 'repl'@'192.168.225.137' identified with caching_sha2_password by '@Test123456';
grant all privileges on *.* to 'repl'@'192.168.225.137' with grant option;
刷新配置表
flush privileges;

查看主机配置
show master status;
五、主机做从机
ip地址:192.168.225.137
配置:
change master to master_host='192.168.225.138',
master_user='repl',
master_password='@Test123456',
master_port=3306,
master_log_file='mysql-bin.000010',
master_log_pos=1380,
GET_MASTER_PUBLIC_KEY=1;

注:
master_log_file='mysql-bin.000010',和master_log_pos=1380 要一致,我这里截错了图
查看从机配置:
show slave status\G;

六、测试主主
原始:

主机增加一个,从机增加一个


反过来,依然。
有问题可以联系我:
qq:2456738015