mysql备份文件 npb_mysql之数据备份与还原_mysqldump

备份:

#1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。

#2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。

#3. 导出表: 将表导入到文本文件中。

# 通过shell命令查询所有库并打包备份

# mysql -uroot -p'root' -e "show databases;"|grep -Evi "database|info|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -p'root'--events -B \1|gzip > /opt/bak.sql.gz#g'|bash

注意事项:

1. 完全恢复到一个干净的环境(例如新的数据库或删除原有的数据库)

2. 恢复期间所有SQL语句不应该记录到binlog中

mysqldump关键参数说明:mysqldump --help

1、 -B 指定多个库,增加建库语句和use语句

2、 --compact 去掉注释,适合调试输出,生产不用。

3、 -A 备份所有库

4、 -F 刷新binlog日志

5、 --master-data 增加binlog日志文件名及对应的位置点。

6、 -x ,--lock-all-tables 锁表

7、 -l ,--lock-tables

8、 -d 只备份表结构

9、 -t 只备份数据

10、 --single-transaction 适合innodb事务数据库备份

innodb表在备份是,通常启用选项 --single-transaction 来保证备份的一致性,实际上它的工作原理是设定本次会话的隔离级别为:repeatable read,以确保本次会话(dump)时,不会看到其他会话已经提交了的数据。

myisam备份命令:

mysqldump -uroot -proot -A -B --master-data=1 --events -x|gzip > /opt/bak.sql.gz

innodb备份命令:推荐使用

mysqldump -uroot -proot -A -B --master-data=1 --events --single-transaction|gzip > /opt/bak.sql.gz

59a4580b9827bfd40d016aeec7b5d4fe.png

恢复:

#需进入mysql

mysql> source /opt/bak.sql

#不进入mysql,备份时未指定-B 恢复时必须指定库

# mysql -uroot -proot --database < /opt/bak.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值