在mysql导入数据量非常大的sql文件的时候,速度非常慢。网上研究了一下发现可以通过修改导出命令来优化,记录如下
1、先查看目标库的参数值
show variables like 'max_allowed_packet';
show variables like 'net_buffer_length';
对应结果分别是
max_allowed_packet 4194304
net_buffer_length 16384
2、在导出库执行导出命令,这里参数是上面目标库的参数值
mysqldump -h 10.66.103.215 -P3306 -u 用户名 -p密码 数据库 表名 -e --max_allowed_packet=4194300 --net_buffer_length=16384 --set-gtid-purged=OFF > fund.sql
3、在目标库执行导入操作
mysql> source /fund.sql
Query OK, 235 rows affected (0.01 sec)
Records: 235 Duplicates: 0 Warnings: 0
Query OK, 234 rows affected (0.01 sec)
Records: 234 Duplicates: 0 Warnings: 0
Query OK, 241 rows affected (0.00 sec)
Records: 241 Duplicates: 0 Warnings: 0
Query OK, 239 rows affected (0.01 sec)
Records: 239 Duplicates: 0 Warnings: 0
Query OK, 236 rows affected (0.01 sec)
Records: 236 Duplicates: 0 Warnings: 0
Query OK, 246 rows affected (0.00 sec)
Records: 246 Duplicates: 0 Warnings: 0
Query OK, 24 rows affected (0.01 sec)
Records: 24 Duplicates: 0 Warnings: 0
Query OK, 0 rows affected (0.00 sec)
mysql>
导入速度毫不夸张上百倍的提速