bitscn.com
加速mysql导入导出的方法
mysql导出的sql语句在导入时有可能会非常慢,在处理百万级数据的时候,可能导入要花几小时。在导出时合理使用几个参数,可以大大加快导入的速度。
-e 使用多行insert语法,给出更紧缩并且更快的插入语句
--max_allowed_packet=xxx 客户端/服务器之间通信的缓存区的最大大小
--net_buffer_length=xxx tcp/ip和套接字通信缓冲区大小
max_allowed_packet和net_buffer_length不能比目标数据库的设定数值大,否则可能会出错。
首先确定目标数据库的参数值:
sql代码
mysql> show variables like 'max_allowed_packet';
mysql> show variables like 'net_buffer_length';
根据参数值写mysqldump命令:
sql代码
mysqldump -uroot -proot eric -e --max_allowed_packet=1048576 --net_buffer_length=16384 > eric.sql
bitscn.com