mysql导入导出

一、导出

1. 导出所有数据库

mysqldump -uroot -proot --all-databases >/tmp/all.sql

2. 导出指定数据库

mysqldump -uroot -proot --databases db1 db2 >/tmp/user.sql

3. 导出指定表

mysqldump -uroot -proot --databases db1 --tables a1 a2  >/tmp/db1.sql

4. 导出部分记录

mysqldump -uroot -proot --databases db1 --tables a1 --where='id=1'  >/tmp/a1.sql
mysqldump -uroot -proot --databases db1 --tables a1 --where="id='a'"  >/tmp/a1.sql

5. 参数:不带create、drop语句

mysqldump -uroot -proot  --no-create-info --all-databases >/tmp/all.sql

6. 参数:不带数据库,只有结构

mysqldump -uroot -proot  --no-data --all-databases >/tmp/all.sql

7. 参数:导出存储过程和自定义函数--routines, -R

mysqldump  -uroot -p --host=localhost --all-databases --routines

8. 压缩备份:

备份:

mysqldump -uroot -proot --databases abc 2>/dev/null |gzip >/abc.sql.gz

还原:

gunzip -c abc.sql.gz |mysql -uroot -proot abc

9. 跨服务器复制db

mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2

两边的db必须都存在

10. 导出前清理

导出前可以先看看各个表的数据量,对于数据量很大的日志表,提前清理一下,可以有效提高效率。

use information_schema;
select table_name,table_rows from tables
where TABLE_SCHEMA = 'lighthouse'
order by table_rows desc;

二、导入

use test;
source /home/username/test20180220.sql
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容