【问题标题】:Issues with MySql replication on MariaDBMariaDB 上的 MySql 复制问题
【发布时间】:2016-07-24 07:23:21
【问题描述】:

我一直在尝试使用 Forge 服务器和 Maria DB 在数字海洋上设置 MySQL 复制。

我在运行 slave status\g 时不断收到此错误:

致命错误:slave I/O 线程停止,因为 master 和 slave 具有相同的 MySQL 服务器 id;这些 id 必须不同才能使复制工作(或者 --replicate-same-server-id 选项必须在从站上使用,但这并不总是有意义;请在使用前查看手册)。

这是我遵循的教程: https://www.digitalocean.com/community/tutorials/how-to-set-up-master-slave-replication-in-mysql

我已经检查了两个 my.conf 文件中的 server-id,master 设置为 1,slave 设置为 2。

这是完整状态\g 输出的转储

MariaDB [(none)]> 显示奴隶状态\G

*************************** 1. row *************************** Slave_IO_State: Master_Host: ***** Master_User: slave_user Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mariadb-bin.000017 Read_Master_Log_Pos: 642 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 4 <br> Relay_Master_Log_File: mariadb-bin.000017 Slave_IO_Running: No Slave_SQL_Running: Yes Replicate_Do_DB:
Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 1 Exec_Master_Log_Pos: 642 Relay_Log_Space: 249 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: NULL Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 1593 Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it). Last_SQL_Errno: 0 Last_SQL_Error:
Replicate_Ignore_Server_Ids: Master_Server_Id: 1 Master_SSL_Crl: Master_SSL_Crlpath: Using_Gtid: No Gtid_IO_Pos: Replicate_Do_Domain_Ids: Replicate_Ignore_Domain_Ids: Parallel_Mode: conservative

谁能帮忙?

【问题讨论】:

    标签: mysql mariadb


    【解决方案1】:

    检查配置文件是否被使用。可能是/etc/my.cnf(不是my.conf)。

    在两台服务器上运行SHOW VARIABLES LIKE 'server_id';

    检查server_id 是否在my.cnf[mysqld] 部分中。

    【讨论】:

    • 感谢您的回复。已经在两台服务器上运行了 show variables 命令,它们返回 1 和 2,它们还检查了配置文件中 server_id 值的位置,它位于 [mysqld] 部分中。还有什么我可以检查的吗? (使用的 conf 文件是 my.cnf 而不是 my.conf,这是我的错误)。
    猜你喜欢
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 2017-01-02
    • 2015-05-08
    • 1970-01-01
    • 2015-10-11
    • 2020-12-26
    • 2023-04-04
    相关资源
    最近更新 更多