如何加快 MySQLl 从大约 1T 表的大型数据库的转储文件中加载的速度?

如何加快 MySQLl 从大约 1T 表的大型数据库的转储文件中加载的速度?

我在 aws rds 中大约有 200 个 innoDB 数据,大小为 1T,我想备份它们并在 ubuntu 16.0.4 服务器中恢复,我尝试使用mysql-dump mysqldump --single-transaction --quick --max_allowed_packet 1G然后通过恢复mysql -u <mu_user_name> -p<my_pwd> <mu_db_name> < /mnt/rds.sql,转储花了几个小时并创建了大小为 256G 的文件,恢复过程已经 5 天没有完成了,我怎样才能使这个过程更快?也许使用与 mysql 不同的选项?或者是一个用于恢复非常大的数据库的更快的工具?我遗漏了什么?

答案1

更快:mysqlimport

mysqlimport [options] db_name textfile1 [textfile2 ...]

更多信息 :https://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html

您还可以临时调整 mysqld 配置

max_allowed_packet = 1024M
innodb_buffer_pool_size = 4G

相关内容