mysqldump逻辑备份和恢复

1、什么是mysqldump

mysqldump是MySQL自带的逻辑备份工具
备份原理:通过协议连接数据库,根据id查询需要备份的所有数据,并转换成对应的insert语句,写入到文件中,还原的时候,直接将文件灌入数据库即可

2、mysqldump命令格式

备份该实例下所有库:mysqldump  [选项]  --all-databases  [选项] >文件名

备份单库:mysqldump  [选项]  --数据库名  > 文件名

备份单表:mysqldump  [选项]  数据库名 [表名] > 文件名

备份单表的部分数据:mysqldump  [选项]  数据库名 [表名] --where [条件] > 文件名

3、参数详解

-A, --all-databases:导出所有数据库

-h, --host:连接数据库的主机IP

-u,--user:连接数据库的账户

-p, --password:连接数据库的密码

-P, --port:连接数据库的端口号

-t:只备份数据,数据是文本形式,表结构不备份

-d:只备份表结构,备份文件是SQL语句形式;只备份创建表的语句,插入的数据不备份。

--tables:指定需要导出的表名

-V, --version:输出mysqldump版本信息并退出

--single-transaction:可以得到一致性的导出结果,将导出行为放到一个事务里,只适合innodb引擎,导出过程中不能执行DDL,否则会阻塞

-F,--flush-logs:刷新binlog日志

--master-data:默认值为1,表示dump出来的备份文件包括CHANGE MASTER TO语句,用于记录binlog位点,做增量恢复;当设为2,dump出来的备份文件也有CHANGE MASTER TO语句,但会注释掉,不会生效,只是记录一个信息
 

4、mysqldump常用案例1. 导出所有数据库的所有信息
mysqldump -h 10.1.2.3 --single-transaction -uroot -p123456 --all-databases >/data/backup.sql
2.导出所有数据库的表结构
mysqldump -h 10.1.2.3 --single-transaction -uroot -p123456 --all-databases -d >/data/backup.sql
3. 导出所有数据库的数据
mysqldump -h 10.1.2.3 --single-transaction -uroot -p123456 --all-databases -t >/data/backup.sql
4.导出单个数据库
mysqldump -h 10.1.2.3 --single-transaction -uroot -p123456 --databases test >/data/backup.sql
5. 导出test库下的单表t1
mysqldump -h 10.1.2.3 --single-transaction -uroot -p123456 --databases test --tables t1 >/data/backup.sql
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DRink 冰阔落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值