mysql导入导出

2018-02-20  本文已影响11人  老胡聊聊天

一、导出

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
上一篇 下一篇

猜你喜欢

热点阅读