Mysql Replication Slave没有连接" ERROR 1200(HY000)"

时间:2015-12-29 12:26:00

标签: mysql linux database mysql-error-1064

我想将Server3添加到MySQL Master&将其复制为slave,当我运行[start slave;]时,我收到错误

  

" ERROR 1200(HY000):服务器未配置为从站;修复配置文件或使用CHANGE MASTER TO"

我已经检查了当前从站(Server2)的所有配置但无法完成 找到任何解决方案或修复。

改变解决方案

  

步骤1:在上重新获得回复。 TO' slave_user' @' master_ip'通过' slave_pass';   FLUSH PRIVILEGES;

     

Step2:带读锁的冲洗表;   mysqldump --all-databases --single-transaction> all_databases.sql

     

Step4:更改MASTER_HOST主页=' master_ip',MASTER_USER =' slave_user',MASTER_PASSWORD =' slave_pass',MASTER_LOG_FILE =' mysql-bin .000071',MASTER_LOG_POS = 754916280;

我得到了MASTER_LOG_FILE& MASTER_LOG_POS来自"显示主人状态\ G"我在主服务器上运行的命令

@Zafar Malik:如果步骤正确,请更正。

1 个答案:

答案 0 :(得分:1)

您可以按照以下步骤进行操作 -

  1. 在master上创建一个可以从slave2连接复制权的用户。

  2. 使用master-data = 2选项从主服务器获取转储备份,以获取二进制协同服务。

  3. 注意:假设主服务器上启用了二进制日志。

    1. 在slave2上恢复此备份。

    2. 现在按照以下步骤执行change master to command -

      更改MASTER_HOST主页=' master_server_ip',MASTER_USER =' replication_user',MASTER_PASSWORD =' replication_pass',MASTER_LOG_FILE =' mysql-bin.001& #39;,MASTER_LOG_POS = 123;

    3. 注意:您可以从备份文件中获取MASTER_LOG_FILE,MASTER_LOG_POS。

      更新:

      按照下面的要求检查步骤 -

      第1步:

      GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'slave_ip' IDENTIFIED BY 'slave_pass';
      

      注意:由于slave将连接到master,因此上面的命令将在master上执行,它为slave ip提供权限。授予命令自动刷新权限,因此不需要刷新权限,如果需要,可以使用。

      第2步:FLUSH TABLES WITH READ LOCK; mysqldump --all-databases --single-transaction > all_databases.sql

      Step4:

      CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='slave_user', MASTER_PASSWORD='slave_pass', MASTER_LOG_FILE='mysql-bin.000071', MASTER_LOG_POS=754916280;
      

      我得到了MASTER_LOG_FILE& MASTER_LOG_POS来自"显示主人状态\ G"我在主服务器上运行的命令

      注意:假设您在应用读锁定之后和释放之前已经达到了上述坐标。