我目前正在尝试在两台服务器之间设置主-主 MySQL 复制,但遇到了一个不寻常的问题。
我的 MySQL 日志中出现此错误:
Slave: Table 'phpmyadmin.pma_recent' doesn't exist Error_code: 1146
我发现这个表“pma_recent”确实不存在于这个特定的服务器上,但是在另一台服务器上我正在设置这个复制。
关于我应该在这里做什么,有什么想法吗?我是否应该考虑在出现错误的服务器上添加此表,还是在另一个服务器上将其删除?
答案1
我想向将来遇到同样问题的人解释我是如何解决这个问题的。
问题是,我的两台服务器的设置时间相隔 4 个月。因此,较旧的服务器缺少较新的服务器所具有的一些表;因为在设置服务器时,它是在较旧版本的 PHPMyAdmin 上设置的。在更新 PHPMyAdmin 时,没有创建这些新表;这似乎是他们的一个重大错误。
解决方案是导入这些新表,这样两个服务器就有完全相同的 PHPMyAdmin 表。任何变化似乎都会导致复制出现重大问题。为此,您需要在旧版本的 PHPMyAdmin 上导入“create_tables.sql”。
其位于:
./usr/share/doc/phpmyadmin/examples
好吧,希望这对某些人有帮助,我确实花了很长时间才解决这个问题!
答案2
通过以下命令编辑.cnf文件:
sudo nano /etc/mysql/my.cnf
replicate-ignore-table=phpmyadmin.pma_recent
replicate-ignore-table=phpmyadmin.pma_table_uiprefs
replicate-ignore-table=phpmyadmin.pma_column_info
//mention whichever table is throwing error
然后,- 重新启动 mysql - 停止从属 - 启动从属 - 显示从属状态