https://blog.csdn.net/xikui1551/article/details/141021530?spm=1001.2014.3001.55021.情况预备
情况引用上一篇文章做好的数据库情况,可提供参考。
2.预备两台数据库服务器(Rocky linux 9.2+mysql8.4.2-26.20)
主机名 IP
mysql_master(主数据库) 192.168.0.103
mysql_slave (从数据库) 192.168.0.106
3.主库设置
关于log-bin是否要设置可以通过查询,MySQL8是默认开启的,MySQL5.7及以下版本默认未开启。当然如果是MySQL8版本你也可以重新指定bin-log文件名称。
show variables like 'log_bin%';
vim /etc/my.cnf
#服务器ID
server_id=103
#打开主库binlog日志,并设置文件名前缀
log-bin=master-mysql-bin
保存,退出,重启数据库服务。
systemctl restart mysqld
主库创建同步账号--用于从库复制主库的用户,’@‘背面:安全起见,发起不使用%,指定IP。
-- 创建用户 slave
CREATE USER 'slave'@'%' IDENTIFIED BY '12345678';
-- 授权
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
要配置副本(从库)在精确的点开始复制过程,需要在 bin log 中记下复制源(主库)的当前坐标,如果主库已经有数据,通过命令行客户端连接到主库,并通过执行以下语句刷新所有表并制止数据写入,如果退出该客户端,锁定将被开释。
FLUSH TABLES WITH READ LOCK;
末了重启复制
START REPLICA;
照旧报错,报错内容
Error connecting to source 'slave@192.168.0.103:3306'. This was attempt 2/10, with a delay of 60 seconds between attempts. Message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.
连接到源“”时出错slave@192.168.0.103:3306'. 这是2/10的尝试,两次尝试之间有60秒的延迟。消息:身份验证插件“caching_sha2_password”陈诉错误:身份验证需要安全连接。
尝试在从库服务器登录主库是能登录的,证实账户密码是精确的
然后我重启了主库的数据库服务,每次重启bin-log会改变,再次查看
mysql> SHOW BINARY LOG STATUS;
+-------------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------------+----------+--------------+------------------+-------------------+
| master-mysql-bin.000003 | 351 | | | |
+-------------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
再次在从库执行
CHANGE REPLICATION SOURCE TO
SOURCE_HOST='192.168.0.103',
SOURCE_PORT=3306,
SOURCE_USER='slave',
SOURCE_PASSWORD='12345678',
SOURCE_LOG_FILE='master-mysql-bin.000003',
SOURCE_LOG_POS=351;