mysql快速导入导出参数说明(仅在CentOs 6.6final下测试通过)

导出

一次性导出多个库

mysqldump -uroot -p"密码"  --all-databases --quick > /root/2014-11-06_all_db.sql

一次导出一个库

mysqldump -uroot -p"密码"  dbname --quick > /root/2014-11-06_dbname.sql

导出表结构

mysqldump -uroot -pdbpasswd -d dbname >db.sql; 表结构


导入

一次性导入多个库

mysql -uroot -p"密码"  --quick < /root/2014-11-06_all_db.sql

一次导入一个库

mysql -uroot -p"密码"  dbname --quick < /root/2014-11-06_dbname.sql

这样一个4G左右数据库导出或导入不用5分钟。


下面是抄来的,只当笔记 (转载,仅当参考)

MySQL导出的SQL语句在导入时有可能会非常非常慢,经历过导入仅45万条记录,竟用了近3个小时。在导出时合理使用几个参数,可以大大加快导入的速度。

-e 使用包括几个VALUES列表的多行INSERT语法;
--max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小;
--net_buffer_length=XXX  TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行。

 

mysql>show variables like 'max_allowed_packet';
mysql>show variables like 'net_buffer_length';


mysql> show variables like 'max_allowed_packet';

+--------------------+---------+

| Variable_name      | Value   |

+--------------------+---------+

| max_allowed_packet | 1048576 |

+--------------------+---------+

1 row in set (0.00 sec)


mysql> show variables like 'net_buffer_length';

+-------------------+-------+

| Variable_name     | Value |

+-------------------+-------+

| net_buffer_length | 16384 |

+-------------------+-------+

1 row in set (0.01 sec)


根据参数值书写mysqldump导入命令,如:
mysqldump -uroot -p"password"  sampledb -e --max_allowed_packet=1048576 --net_buffer_length=16384 <sampledb.sql

(转载,仅当参考)

  mysql