【问题标题】:Same ID error when I try to replicate databases尝试复制数据库时出现相同的 ID 错误
【发布时间】:2014-02-12 13:50:17
【问题描述】:

我无法将数据库从实时服务器复制到本地服务器(可从外部访问)。

我在主服务器上收到此错误

致命错误:从属 I/O 线程停止,因为 m
aster 和 slave 具有相同的 MySQL 服务器 ID;这些 id 必须是 代表不同
lication 工作(或 --replicate-same-server-id 选项必须是 用在奴隶上,但这 并不总是有意义的;使用前请查看说明书)。

当我输入SHOW SLAVE STATUS \G时在主服务器上

在 Phpmyadmin 上出现此错误:

Slave IO 线程未运行!

我的主 my.cnf 文件

[mysqld]
local-infile=0
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id=1392211409
log-bin=mysql-bin
log-error=mysql-bin.err
binlog_do_db=vapes4you
binlog_format=ROW
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

我的从属文件是

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id=1392211002
master-host=********
master-user=vapesbackup
master-password=********
master-port=3306
replicate-do-db=dbname
master-connect-retry=60
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

谁能帮帮我?感谢阅读

【问题讨论】:

  • 更改服务器ID后是否停止并重新启动服务器?
  • 感谢您的帮助。是的,我做到了。

标签: mysql backup replication


【解决方案1】:

如果命令 show variables like 'server_id'; 为您提供不同的 ID,那么您可能在设置复制时输入了它自己的 IP 地址。

CHANGE MASTER TO MASTER_HOST = **'**192.168.1.155**'**, MASTER_USER = 'replicator', MASTER_PASSWORD = 'passwd', MASTER_LOG_FILE = 'mysql-bin.000002', MASTER_LOG_POS = 107;

【讨论】:

    【解决方案2】:

    你确定从服务器使用这个 my.cnf 文件吗? 请在两台服务器上运行此命令并比较 ID:

    显示像“server_id”这样的变量;

    【讨论】:

    • 对不起。主:1392211409 从:1392211002
    • slave 和 master 是在两台不同的物理机上吗?我能想到的唯一一件事是您尝试在同一台服务器上运行从属进程(我不知道这是否可能)。请尝试提供更多详细信息。
    • 它们是不同的机器。主服务器是从 123-reg 购买的虚拟服务器,带有 centos 和 plesk。从站是一个本地服务器,它又是一个虚拟机。它是一个带有 ispconfig3 的 centos。从服务器的外部 IP 可从外部访问。我不知道我可以给你更多的信息吗?感谢您的帮助。
    • 在从服务器上我得到这个错误'Could not execute Write_rows event on table vapes4you.log_visitor;键“P​​RIMARY”的重复条目“67729”,错误代码:1062;处理程序错误 HA_ERR_FOUND_DUPP_KEY;事件的主日志 mysql-bin.000001, end_log_pos 87421' 和 Slave SQL Thread 没有运行!
    • 首先 - 在 mysql master 上运行“show slave status”不会给你任何东西,除非这个 master 是另一个 master 的 slave。然后-您在上一条评论中粘贴的错误表明实际上发生了复制,但由于无法解决的问题而停止-从属进程正在尝试插入一条记录,其中从属数据库中已经存在具有此类 id 的记录。您可以做几件事 - 停止从站,删除记录并启动从站,然后检查状态。其他的事情:你可以报废从站,转储主站,恢复从站,应用“更改主站...”并启动从站。
    【解决方案3】:

    尝试注释掉 SLAVE 服务器的 server-id,同时保持主服务器不变。然后重启两者。

    【讨论】:

      【解决方案4】:

      在我的例子中,我使用了一个自定义的 my.cnf 文件,该文件没有用于执行 MySQL 服务器。

      1. 按 Windows 键 + R;
      2. 键入 %ProgramData%;
      3. 搜索 MySQL/MySQL Server 8.0 或同等版本;
      4. 更新您的my.ini 文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-29
        • 2019-02-14
        • 1970-01-01
        • 2023-03-21
        • 2021-07-01
        • 2020-07-13
        • 2023-03-19
        相关资源
        最近更新 更多