我想将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:如果步骤正确,请更正。
答案 0 :(得分:1)
您可以按照以下步骤进行操作 -
在master上创建一个可以从slave2连接复制权的用户。
使用master-data = 2选项从主服务器获取转储备份,以获取二进制协同服务。
注意:假设主服务器上启用了二进制日志。
在slave2上恢复此备份。
现在按照以下步骤执行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;
注意:您可以从备份文件中获取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"我在主服务器上运行的命令
注意:假设您在应用读锁定之后和释放之前已经达到了上述坐标。