配置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目录下游荡,希望有什么有用的信息:
我们知道 master.info 记录的刚才设置的master信息的。 实在没有别的思路了,看看master.info 吧。
可以看到,里面记录了刚才设的master信息。
一眼看过去觉得有点不对。
哪里不对? 发现这里记录的密码长度变短了。
我再前面change master语句中给出的密码是很长的:
hfn98kMnsdfposdfasdfsadfsdjntuyuzcndfasdfsfsdfdsfsdfsdfsdf
但是这里记录的密码只有前面一段:
hfn98kMnsdfposdfasdfsadfsdjntuyuzcn
可以发现, 密码被截断了。
我知道了。应该是问题在这。于是去主服务器把密码改短。 再回来试试。
果然就成功了。
不知道为什么会被截断,但是希望能帮到你。 有知道的希望指点一下。
blog.byneil.com