Mysql使用mysqldump进行数据备份

文章参考:
https://www.cnblogs.com/markLogZhu/p/11398028.html
https://www.cnblogs.com/chenmh/p/5300370.html


一、命令说明

1.1常用命令格式

mysqldump -u -p --databases 数据库名 > 脚本名 					#备份指定数据库
mysqldump -u -p --all-databases  > 脚本名						#备份所有数据库
mysqldump -u -p --databases 数据库名 --tables 表名 > 脚本名		#备份指定表

1.2参数说明

参数名 缩写 含义
–host -h 服务器IP地址
–port -P 服务器端口号
–user -u MySQL 用户名
–pasword -p MySQL 密码
–databases 指定要备份的数据库
–all-databases 备份mysql服务器上的所有数据库
–compact -C 压缩模式,产生更少的输出
–no-data 不导出数据,只导出表结构
–comments 添加注释信息
–complete-insert 输出完成的插入语句
–lock-tables 备份前,锁定所有数据库表
–no-create-db/–no-create-info 禁止生成创建数据库语句
–force 当出现错误时仍然继续备份操作
–default-character-set 指定默认字符集
–add-locks 备份数据库表时锁定数据库表

二、导出实例

2.1导出所有数据库

该命令会导出包括系统数据库在内的所有数据库

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

2.2导出db1,db2这两个数据库的所有数据

使用空格隔开两个数据库即可

mysqldump -uroot -proot --databases db1 db2 > backup/two_db.sql

2.3导出db1中的tab1,tab2表

mysqldump -uroot -proot --databases db1 --tables tab1 tab2  > backup/two_tables.sql

注意:导出指定表只能针对一个数据库进行导出,且导出表的内容中和导出数据库不一样,导出指定表的导出文本中没有创建数据库的判断语句,只有删除表-创建表-导入数据;而导出表的拥有。见下图:

在这里插入图片描述
若你不想有创建数据库的语句,可以添加参数:–no-create-info

2.4导出db1中tab1表id=1的数据

整型字段:

mysqldump -uroot -proot --databases db1 --tables tab1 --where='id=1'  > backup/tab1.sql

字符串字段:

mysqldump -uroot -proot  --databases db1 --tables tab1 --where="name='a'"  > backup/tab1.sql

2.5只导出表结构不导出数据

mysqldump -uroot -proot --no-data --databases db1 > backup/db1.sql

2.6跨服务器导出数据

mysqldump --host=192.168.43.1 -uroot -proot --databases db1 | mysql --host=192.168.43.2 -uroot -proot db2

将ip为192.168.43.1的服务器db1数据库的所有数据导入到ip为192.168.43.2的服务器db2数据库中,db2的数据库必须存在否则会报错


mysqldump --host=192.168.43.1 -uroot -proot -C --databases db1 | mysql --host=192.168.43.2 -uroot -proot db2

也可以加上参数-C来进行压缩传递,以加快传输


三、导入实例

3.1 系统命令行导入

mysqladmin -uroot -p create db1 
mysql -uroot -p  db1 < /backup/db1.sql

注意:在导入备份数据库前,db1如果没有,是需要创建的;而且与db1.sql文件中所写的数据库名是一样的才可以导入。


3.2 进入mysql中导入

mysql > use db1
mysql > source /backup/db1.sql

猜你喜欢

转载自blog.csdn.net/lendsomething/article/details/109000973