gpt4 book ai didi

mysql - 复制未更新所有表

转载 作者:行者123 更新时间:2023-11-29 11:57:03 25 4
gpt4 key购买 nike

  • 主数据库 MySQL 数据库服务器 2012
  • 从属数据库 MySQL Win7 XAMPP
  • 数据库大小 500MB
  • table 数 42

我已成功设置复制,但上周它停止了,并且我的从服务器显示错误 Slave_SQL_Running No。我意识到它正在查看一个不正确的日志文件(00004,而它应该是 00006)。

我已经对此进行了排序;

在大师处;

SHOW MASTER STATUS;
Copied the values of MASTER_LOG_FILE and MASTER_LOG_POS.

在从站;

STOP SLAVE;
RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98; (<- example values)
START SLAVE;
SHOW SLAVE STATUS \G;

在我的 master 上,我通过编辑表 members 测试了复制 - 我编辑了其中一个行值(从 8586 -这在我的奴隶中成功复制)。但是我注意到,在我的主 members 表上有 70652 个成员,但在我的从属表上只有 70056 个。

我向主成员(member)表中添加了两名新成员,两个表上的总数都增加了 2。不过好像还少了那600个?

可能是什么问题?复制似乎有效,但总数却无效。每天都有新成员添加到成员表中,但不会添加到我的从属成员表中。

我的从站状态表(来自 phpmyadmin)的结果是;

Slave_IO_State  Waiting for master to send event
Master_Host xxx.xxx.xxx.xxx
Master_User repl
Master_Port 3306
Connect_Retry 60
Master_Log_File mysql-bin.000006
Read_Master_Log_Pos 787956776
Relay_Log_File mysql-relay-bin.000004
Relay_Log_Pos 624412
Relay_Master_Log_File mysql-bin.000006
Slave_IO_Running Yes
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 0
Exec_Master_Log_Pos 787956776
Relay_Log_Space 788197
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 0

还有什么我可以检查或测试的吗?

最佳答案

是的,当您停止复制时,某些行已更改或插入。此后,您需要重置 SLAVE 并设置 MASTER_LOG_POS。因此复制永远无法获取旧的更改。

您有 2 个选择:

第一:

停止复制

转储主数据库(带有主位置)

在从站中恢复它

设置位置或检查它们

启动从属

第二个

停止从属

使用 percona Toolkit 将 masterDB 同步到 Slave DB - pt-table-sync

启动从属

关于mysql - 复制未更新所有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33036652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com