我们一直在使用phpmyadmin导出工具备份我们的网站。昨晚我们不得不从备份恢复数据库,我们意识到大约前40个表完全备份但剩下的20个表被报告为有0行,经过调查,我们发现phpmyadmin导出功能打印#2006,MySQL已经离开了导出转储中的所有表。我们永远不会注意到这一点,因为创建了巨大的转储。这非常令人沮丧和恼人,我们不得不依赖托管服务提供商备份解决方案。
现在问题是, 这是phpmyadmin的默认行为吗? 是否有任何可靠的导出mysql转储的解决方案,它不会锁定表?
感谢您的建议。
答案 0 :(得分:0)
解决方案在于编辑MySQL的my.ini
文件。
在服务器中查找my.ini
文件,并在该文件中搜索max_allowed_packet
并增加其值。
在WAMP和XAMPP中,默认值为1M, change it to 10M
。
在my.ini
中,它看起来像这样
# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
保存ini文件并重新启动服务器。