mysqldump导出导入所有库、某些库、某些表的例子
1 导出所有库
mysqldump -uusername -ppassword --all-databases > all.sql
2 导入所有库
mysql>source all.sql;
3 导出某些库
mysqldump -uusername -ppassword --databases db1 db2 > db1db2.sql
4 导入某些库
mysql>source db1db2.sql;
5 导出单个库
mysqldump -uusername -ppassword --databases db1 > db1.sql
6 导入单个库
mysql>source db1.sql;
--这里貌似没有办法直接使用第3步的db1db2.sql文件只导入其中的db1库
7 导出某些数据表
mysqldump -uusername -ppassword db1 table1 table2 > tb1tb2.sql
8 导入某些数据表
mysql -uusername -ppassword db1 < tb1tb2.sql
或
mysql>source tb1tb2.sql;
9 mysqldump字符集设置
mysqldump -uusername -ppassword --default-character-set=gb2312 db1 table1 > tb1.sql
mysqldump导出文件默认带create table,如果--all-databases或--databases,则默认带create database
--tables只导表,不导库,--tables时就算加上了--databases,导出的文件也没有create database
--tables:Overrides option --databases (-B)
1、导出所有库
mysqldump --all-databases > all.sql
导出所有数据库的所有表
这样的导出文件,有create database选项,也有create table选项
2、导出某些库
mysqldump test1>/home/test1.dmp
只导出test1数据库
这样的导出文件,没有create database选项,只有create table选项
mysqldump --databases test1>/home/test1new.dmp
只导出test1数据库
这样的导出文件,有create database选项,也有create table选项
3、导出某些表
mysqldump test1 tab1>/home/tab1.dmp
只导出test1库中的tab1表
这样的导出文件,没有create database选项,只有create table选项
mysqldump test1 --tables tab1>/home/tab--1.dmp
只导出test1库中的tab1表
这样的导出文件,没有create database选项,只有create table选项
mysqldump --databases test1 --tables tab2>/home/tab2.dmp
只导出test1库中的tab2表
这样的导出文件,没有create database选项,只有create table选项
mysqldump --databases test1 --tables tab1 tab2>/home/tab1_tab2.dmp
只导出test1库中的tab1、tab2表
这样的导出文件,没有create database选项,只有create table选项
云数据库导入导出例子
导出rm-6.mysql.rds.aliyuncs.com:3306的msus_svc库,再导入rm-7.mysql.rds.aliyuncs.com:3306的msus库,msus库已经存在。
导出msus_svc库
mysqldump -h'rm-6.mysql.rds.aliyuncs.com' -P3306 -uprocess6 -p'XX' msus_svc > /home/slave/msus_svc.sql
导入msus库
mysql -h'rm-7.mysql.rds.aliyuncs.com' -p3306 -uprocess7 -p'XX' msus
/home/slave/msus_svc.sql这个文件没有create database的语句, 有drop table exist和create table,所以导入msus库时,如果表已经存在msuc库,就drop再导入