首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysqldump错误

mysqldump错误
EN

Database Administration用户
提问于 2017-05-15 12:45:32
回答 1查看 1.2K关注 0票数 1

我正在使用MySQLVersion5.0.5,并试图转储数据,以便为版本升级做准备,并得到一个错误。

我跑:

代码语言:javascript
复制
./mysqldump -u root -p --add-drop-table --all-databases > /data/all_db_dump.mysql

并得到:

代码语言:javascript
复制
mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `abc` at row: 408640

我研究了一些类似的问题,并找到了一些建议:

  • 使用--skip-extended-insert运行-没有帮助
  • 使用--hex-blob运行-没有帮助
  • 配置为1024M的max_allowed_packet -没有帮助(我有4GB内存)
  • net_read_timeout配置为7200 -没有帮助
  • net_write_timeout配置为7200 -没有帮助

对于以上所有的错误,得到相同的错误。

我在转储数据时监视了服务器的内存,没有发现任何问题。有什么问题吗?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2017-05-16 17:04:47

考虑到您已经在全局级别而不是会话级别设置了超时、数据包和其他变量,我几乎没有其他选项可以考虑。

Option1 :验证表损坏

分析和修复表'abc‘,以核实腐败的情况下,我的引擎。(如果可能的话,还可以考虑将表迁移到innodb )识别表损坏的另一种方法是从这些表中选择数据(行:408640),您应该得到一个错误,否则MySQL也可能关闭。

对您正在努力实现的目标提出建议(以防您无法让mysqldump工作):

您也可以通过就地升级方法升级MySQL。步骤如下:

  • 停止MySQL服务器(使用innodb_fast_shutdown=0)并复制完整的datadir文件夹作为备份(如果出现任何问题,可以选择mysqldump )
  • 用升级到的版本二进制文件升级(替换) MySQL二进制文件(/basedir/bin/)
  • 照常启动MySQL服务器并执行mysql_upgrade

注意:

  1. 如果数据大小太大,就地升级要比逻辑转储快得多。
  2. 不要在升级I.e.5.0到5.6时跳过主要版本,而是必须执行5.0 -> 5.5 -> 5.6
  3. 在升级到任何版本之前,请注意不推荐的变量。
  4. 确保在任何升级方法之后分析/修复表。

还有一点,当您使用mysqldump转储时,需要生成.sql文件而不是.mysql文件(all_db_dump.sql)。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/173591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档