docker下使用logbin备份mysql数据,删除以及恢复

docker下使用logbin备份mysql数据,删除以及恢复

hello,我是专注于开发的小红(男),今天咋们来聊聊删库跑路。
你是否有过不小心删了数据库的烦恼,别急,今天带你手把手配置数据库,
使你的数据库不再害怕被删。

1.配置

在mysql下的(如果这里是挂载在外面的,直接在外面更改即可,每个人的路径可能不一样,以实际为准)
/etc/mysql/my.cnf
文件里,加入

#配置文件储存的位置
log-bin=/usr/local/mysql/data/binlog/mysql-bin
#5.7以及以上版本需要配置这一行(保证唯一性)
server-id=1
#binlog的格式,
#statement(保存语句)
#row(保存执行后的结果)
#mixed(同时保存语句和结果)
binlog-format=ROW
#表示每执行一次就同步
sync-binlog=1

加入后重启mysql,这个时候可能会重启不成功,报下面的错误
启动 mysql-bin.index' not found (Errcode: 13)
这是因为在配置上面的log-bin路径的时候,该路径下的文件访问权限不足导致的,所以这时候去更改一下文件的访问权限chmod 777 文件名称,更改后再次重启就成功了。

2.查看

打开连接工具或者是在mysql的bash里面查看是否开启了logbin,输入show variables like '%log_bin%',查看是否开启了logbin,如果出现下面的结果,说明开启成功
在这里插入图片描述

3.删库

新建一个数据库,新建一个表,新建一条数据,然后在log-bin目录下回出现
在这里插入图片描述 该文件,说明已经同步成功,然后删除刚刚建立的表。

4.恢复

进入mysql的bash页面,输入/usr/bin/mysqlbinlog --no-defaults /usr/local/mysql/data/binlog/mysql-bin.000001 |mysql -uroot -p test,注意,这里的/usr/bin/mysqlbinlog是在我的服务器上所在的位置,可以使用whereis mysqlbinlog查看所在位置,最后的test是数据库的名字,当敲完回车后,数据就回来了,注意,logbin只对加完配置后的操作生效,以前的数据是不生效的,请慎重。

5.结语

好了,以上便是删库恢复的大致过程,如有错误或遗漏,请多多指教。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值