我有两台服务器,我想在它们之间复制一个数据库。我在 sourceforge 上找到了一个安装指南,并按照指南操作,从那时起,我尝试了各种其他设置,但无论我做什么,当我启动从服务器时,“Slave_IO_Running”设置始终为否...
我不知道为什么或者要看什么,任何建议都值得赞赏。
从站设置如下:
将主服务器更改为 MASTER_HOST='myserver.mydomain.net'、MASTER_USER='slave_user'、MASTER_PASSWORD='mypassword'、MASTER_LOG_FILE='mysql-bin.000011'、MASTER_LOG_POS=1368363
(今天的最后数据,尝试再次进行设置。我从新的转储中删除并重新创建了从属服务器上的数据库,然后尝试重新进行设置。)
我已经为 %、localhost 和从属计算机的特定 IP 设置了 slave_user,但似乎没有任何效果......
提前感谢任何建议或意见
答案1
按照前面的建议,在 var 目录中查找该.err
文件。如果它什么都没显示,那么如果你发出:show slave status\G
,它应该会打印一行错误信息。
此外,如果 SQL 线程正在运行但 IO 线程已停止,则表明从服务器和主服务器之间的通信存在问题。从“CHANGE MASTER”行来看,您没有指定端口号。MySQL 默认为 3306,但您是否在该端口上运行服务器?此外,您指定的文件mysql-bin.000011
在主服务器上可用吗?主服务器可以读取它,对吗?
最后,您是否授予复制用户权限?(如,您是否已正确完成,如 MySQL 手册所述)。
除此之外,不知道还要检查什么,也许会嗅探网络以查看是否有任何流量,或者只是执行mysqlbinlog mysql-bin.000011
以查看该位置的一切是否正常。
答案2
造成这种情况的原因有很多种。其中一个原因可能是你没有启动从属服务器。你运行过吗start slave;
?
复制无法启动的原因将记录在错误日志中,我们需要提供更详细的建议。
我还建议阅读 MySQL 有关复制的官方手册。