解决mysql8.0主从配置,从库连接报错:Authentication plugin ‘caching
作者:mmseoamin日期:2023-12-05

其他配置都是按照网上分享的流程,但是show slave status; 查看从库状态时,Slave_IO_Running=connecting,这个状态是不对的(正常的Slave_IO_Running=YES)

后面有个slave_sql_Running_state字段,可以看到错误信息:

error connecting to master 'slave@192.168.0.104:3306' - retry-time: 60 retries: 6 message:

Authentication plugin 'caching_sha2_password' reported error: 

Authentication requires secure connection.

意思主要是现在的mysql8.0的密码加密都是用的 caching_sha2_password这种。

网上得到的解决方式有2个:

方案一:修改master库的密码加密方式

alter user 'slave'@'%' identified with  mysql_native_password  by 'slave';

slave是我建的用户和密码

但是感觉都是mysql8.0的版本,肯定有更好的解决方式,升级加密的

方案二:设置从库的change master 时加get_master_public_key=1参数

之前准备配置前,查询资料,看到过有人特意设置过get_master_public_key这个参数,加上这个参数再次配置:

1.从库执行 stop slave;

2.清除从库配置:reset slave all;

3.重新配置主库信息

change master to master_host='192.168.0.104', master_user='slave', master_password='slave', master_log_file='mysql-bin.000002', master_log_pos=157, get_master_public_key=1;

4.开始复制主库  start slave;  

5.查询从库状态:show slave status;

启动正常了,Slave_IO_Running=YES,Slavel_SQL_Running=YES

这应该才是mysql8.0配置从库的这最优方式。

【瑞吉外卖】项目优化Day2_瑞吉外卖优化笔记_Alkaid_slc的博客-CSDN博客