前言
默认不带参数的导出,导出文本内容大概如下:创建数据库判断语句-删除表-创建表-锁表-禁用索引-插入数据-启用索引-解锁表
。
1.导出所有数据库
mysqldump -uroot -proot --all-databases >/tmp/all.sql
2.导出db1、db2两个数据库的所有数据
mysqldump -uroot -proot --databases db1 db2 >/tmp/db1_and_db2.sql
3.导出db1中的a1、a2表
注意导出指定表只能针对一个数据库进行导出
,且导出的内容中和导出数据库也不一样,导出指定表的导出文本中没有创建数据库的判断语句,只有删除表-创建表-导入数据.
mysqldump -uroot -proot --databases db1 --tables a1 a2 >/tmp/db1.sql
4.条件导出,导出db1表a1中id=1的数据
mysqldump -uroot -proot --databases db1 --tables a1 --where='id=1' >/tmp/a1.sql
5.只导出表结构不导出数据,–no-data
mysqldump -uroot -proot --no-data --databases db1 >/tmp/db1.sql
6.跨服务器导出导入数据
将h1服务器中的db1数据库的所有数据导入到h2中的db2数据库中,db2的数据库必须存在否则会报错
mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2
加上-C参数可以启用压缩传递。
mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot test
7.mysql 命令导入
mysql -u用户名 -p密码 < 要导入的数据库数据(runoob.sql)