三 mysql 主从复制搭建

mysql 主从复制搭建

  • mysql版本 8.0.33
  • source地址(master) 192.168.59.86
  • replica地址(slave) 192.168.59.87

1 下载安装

https://blog.csdn.net/qq_43798066/article/details/131032496?spm=1001.2014.3001.5502

2 主库配置

2.1 查看主库BINLOG状态,最新版本默认已经开启

mysql> show variables like '%log_bin%';

mysql> show master status;

2.2 设置server-id,打开GTID

2.2.1 编辑配置文件

# 编辑配置文件
vim /etc/my.cnf

# 在my.cnf中添加以下内容
# 添加
[mysqld]
# 注意每台服务器要不一样
server-id=1
# 开启GTID
gtid_mode=on
enforce-gtid-consistency=true
# 使用“mysql_native_password”密码插件认证(加密方式),使用新插件从库无法登录,有兼容问题
default_authentication_plugin=mysql_native_password
# 重启
systemctl restart mysqld

2.2.2 查看是否生效

# 相关命令

SELECT @@GLOBAL.GTID_MODE;
SELECT @@GLOBAL.ENFORCE_GTID_CONSISTENCY;
SHOW VARIABLES LIKE 'server_id';
SHOW VARIABLES LIKE 'gtid_mode';
SHOW VARIABLES LIKE 'enforce_gtid_consistency';
SHOW VARIABLES LIKE 'log_bin';
SHOW VARIABLES LIKE 'binlog_format';

2.3 创建用于复制的用户

2.3.1 创建用户

# 密码插件使用老插件,新插件有兼容问题,从库连接时认证会失败
create user repl@'192.168.59.%' identified with mysql_native_password by 'Sbt217f285d8888';

2.3.2 授权

# 复制权限(只需要SLAVE权限即可,这里多授予了CLiENT权限)
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.59.%';
GRANT REPLICATION CLiENT ON *.* TO 'repl'@'192.168.59.%';

2.3.3 查看

select user, host, Repl_slave_priv, Repl_client_priv from mysql.user;

image.png

2.4 查看主库状态

show master status

image.png

3 从库配置

3.1 连接主库

# mysql8中将master、slave更名为source、replica
CHANGE REPLICATION SOURCE TO SOURCE_HOST='192.168.59.86',SOURCE_USER='repl',SOURCE_PASSWORD='123456',SOURCE_LOG_FILE='binlog.000011',SOURCE_LOG_POS=197;

# SOURCE_HOST 主库地址
# SOURCE_USER 登录主库的用户(前面创建了repl用户)
# SOURCE_LOG_FILE 日志文件名(填2.4 show master status命令的输出中的 File)
# SOURCE_LOG_POS 位置(填2.4 show master status命令的输出中的 Position)

3.2 开启同步

# 开始同步
start replica; 

# 停止
stop replica; 

3.3 查看复制状态

# 查看复制状态
show replica status\G;

踩坑 https://www.yuque.com/u5277/tbxgx1/mn2dig6zat7i5r2k

这两个位置显示Yes即正常
image.png

4 测试

4.1 创建数据库

4.1.1 主库中创建database

create database 'xxx';

4.1.2 从库中查看是否同步

show databases;

4.2其他测试

创建表,insert、update、delete

… 此处省略 999+ 字😈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值