MySQL:备份与还原

目录

 

一、基本操作:

二、重启:

三、备份:

四、还原:

五、增量日志(备份)配置文件配置:


一、基本操作:

登录:

mysql -hlocalhost -uroot -p #然后输入密码

 常规操作:

show databases;
use demo;
show tables;

// TODO DML语句 CRUD
insert into table_name(...) values (...);
update table_name set ... where ...
delete from table_name where ...

quit;


二、重启:

systemctl restart(stop/start) mysqld.service
(service mysqld start/stop/restart )


三、备份:

shell:mysqldump -uroot -p database_name > bak_file_name;
shell:mysqldump -uroot -p -l -F database_name > bak_file_name;

-l 表示给所有表加读锁(也就是当存在其他用户对数据进行修改,但未提交时,等待其事务提交。)
-F 表示备份后,创建新的日志文件(binlog日志文件序列增1,这样有助于进行恢复时,进行重做日志恢复,以进行完全的数据库恢复。即:从备份文件恢复+备份之后所有的操作记录重做 = 故障时的数据库状态。) 该功能需要启用二进制增量日志,参考本文第五章

四、还原:

shell:mysql -uroot -p database_name < bak_file_name;    

# 这是基于文件的还原,注意使用的命令是mysql。

shell:mysqlbinlog [mysql-bin].000007 | mysql -u root -p database_name # 然后输入密码。

# [mysql-bin]是自定义的日志文件名称,
# 000007如果是-F产生的新日志,则可以作为文件还原后的后续操作日志恢复。参考第三章-F的说明。

shell:mysqlbinlog --stop-datetime="2019-07-05 01:00:00" /[path]/mysql-bin.000007 | mysql -uroot -p  

# 然后输入密码,该操作是基于时间点的恢复。
# 也就是从mysql-bin.000007日志的开头,执行重做至 2019-07-05 01:00:00 为止。
# 如果是 start-datetime 则是指定时间开始 至文件末尾。
# 同时指定start和stop ,则进行区间重做。

shell:mysqlbinlog [--start-datetime="2019-07-05 01:00:00" --stop-datetime="2019-07-05 02:00:00"]mysql-bin.000007 > /[path]/mysql_restore.sql   

# 创建文本文件, 用于查找错误语句的位置

shell:mysqlbinlog --stop-position="123789" /[path]/mysql-bin.000007 | mysql -uroot -p  

# 基于位置的恢复,与时间同理,只是参数使用,使得恢复更加具体。

注意1:备份用mysqldump工具命令, 还原用mysql命令。
注意2:bak_file_name 可以是 .sql .dmp拓展名类型的文件。

参考:深入浅出MySQL(第二版) P436-440

五、增量日志(备份)配置文件配置:

my.cnf文件[mysqld]添加:
server-id=1
log-bin=/var/lib/mysql/mysql-bin
#配置后需要对数据库进行重启,参考第二章。

 

 

 

Oracle备份与恢复:https://blog.csdn.net/Bof_jangle/article/details/51366563

Oracle日志文件说明(重做日志的作用,mysql与其是类似的,可以参考):https://blog.csdn.net/Bof_jangle/article/details/51220563

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值