Neil Developer

密码太长导致mysql:ERROR] Slave I/O: error connecting to master 'replication@******:3306' - retry-time: 60 retries: 2, Error_code: 1045


配置mysql主从备份,遇到在从服务器上slave启动不成功。

查看错误日志,

ERROR] Slave I/O: error connecting to master 'replication@*****:3306' - retry-time: 60  retries: 2, Error_code: 1045

 

第一想法是密码错误了。  于是先停止slave,重设master。

stop slave;

CHANGE MASTER TO MASTER_HOST='108.***.***.***',
MASTER_USER='repl_user2',
MASTER_PASSWORD='hfn98kMnsdfposdfasdfsadfsdjntuyuzcndfasdfsfsdfdsfsdfsdfsdf',

MASTER_LOG_FILE='mysql-bin.000008',
MASTER_LOG_POS=107;

然后重启 slave:

start slave;

 

之后发现还是:

Slave_IO_Running: NO

 

网上搜了很多, 说这个1045错误代码就是密码不对。如此重试了几次,确保密码复制粘贴没错。

手动用远程登录也没有问题,证明用户名和密码都没错。

 

查看日志,也没有详细信息。

在mysql的data目录下游荡,希望有什么有用的信息:

 

image

 

我们知道 master.info 记录的刚才设置的master信息的。 实在没有别的思路了,看看master.info 吧。

image

 

可以看到,里面记录了刚才设的master信息。

 

一眼看过去觉得有点不对。

哪里不对?  发现这里记录的密码长度变短了。

 

我再前面change master语句中给出的密码是很长的:

hfn98kMnsdfposdfasdfsadfsdjntuyuzcndfasdfsfsdfdsfsdfsdfsdf

但是这里记录的密码只有前面一段:

hfn98kMnsdfposdfasdfsadfsdjntuyuzcn

 

可以发现, 密码被截断了。

 

我知道了。应该是问题在这。于是去主服务器把密码改短。 再回来试试。

果然就成功了。

 

不知道为什么会被截断,但是希望能帮到你。 有知道的希望指点一下。

blog.byneil.com


Comments

Content