其他配置都是按照网上分享的流程,但是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这个参数,加上这个参数再次配置:
从库执行 stop slave;
清除从库配置:reset slave all;
重新配置主库信息
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;
开始复制主库 start slave;
查询从库状态:show slave status;
启动正常了,Slave_IO_Running=YES,Slavel_SQL_Running=YES
这应该才是mysql8.0配置从库的这最优方式。
【瑞吉外卖】项目优化Day2_瑞吉外卖优化笔记_Alkaid_slc的博客-CSDN博客
来源地址:https://blog.csdn.net/qun7559/article/details/129226497