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-uMySQL 用户名
–pasword-pMySQL 密码
–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
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值