mysql - 导入数据库很慢
问题描述
我正在建立一个新环境,我想迁移数据库。为了做到这一点,我正在从我当前的数据库中进行转储,并尝试将转储导入 appcloud mariadb 服务器。那是转储创建命令:
mysqldump --extended-insert=FALSE --skip-add-locks --skip-lock-tables --no-autocommit --protocol=TCP -P 13000 --user=XXX --password=XXX xxx > "dump.sql"
我需要进行单个插入查询,因为有些行太长并且会产生错误。为了导入它,请使用以下命令:
mysql --init-command="SET AUTOCOMMIT = 0;" --protocol TCP --port 13000 --host=127.0.0.1 --user=XXX --password=XXX --show-warnings xxx < dump.sql
我很快就收到了这个错误:ERROR 2006 (HY000) at line 3805: MySQL server has gone away
转储为 1.2G,所以我尝试按表拆分并制作更小的文件。这需要很长时间,对于某些文件,我仍然会收到前面提到的错误。
这个过程实在是漫长而乏味。有没有其他方法可以加速这种导入?对于大型转储文件,还有其他更方便的过程吗?目前,即使迁移不完全成功,也需要 2 天时间才能推送所有数据。
解决方案
推荐阅读
- sharepoint - 我的网站页面上的 Sharepoint 2016 个人资料图片问题
- nginx - limit_req 按一天中的时间区分区域
- docker - Kubernetes:将 mod_cluster 替换为后端服务(反向代理)
- javascript - Jquery else if 语句似乎不起作用
- c++ - 函数调用中的意外编译错误 (C++)
- go - 在 go-pg ORM 中指定多对多关系的键
- ethereum - Ethereum Go-ethereum 待处理交易
- android - 如何使 RecyclerView 出现动画?
- java - 错误:无法解决:recyclerview-v7
- tensorflow - 使用 tensorflow 更改 mobilenet_ssd 的输入图像大小