目录
一、背景
在我配置主从复制的时候,遇到了一直connecting的问题。
起初可能是我ip配置的不对,slave_io_running一直connecting。(我的环境:windows中安装了wsl,是ubuntu环境的,在wsl中装了miniconda,miniconda中装了docker)
正确获取ip的方式就是直接ubuntu中ifconfig就好。
二、排查问题方式
这里说下一定要先找到日志,根据日志排查问题,last_io_error记录着报错内容。事半功倍~
下面我换成正确的ip,再次重新配置。
这里已经不再提示Can't connect to MySQL server。而是认证问题,那么我确定,我的ip配置对了。
既然是权限认证问题(Authentication plugin 'caching_sha2_password' reported error),那就去主库配置下权限就应该ok了。
三、解决方案
在这里切回到主数据库中,进行配置,命令如下:
# 删除原来的slave
DROP USER 'slave'@'%';
# 创建用户时应该使用
IDENTIFIED WITH
mysql_native_password 选项CREATE USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 授权
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'%';
# 刷新
FLUSH PRIVILEGES;# 查看状态
SHOW MASTER STATUS;
查看状态,拿到binlog的File和Position,回到从库进行配置。 搞定啦!~