作者回复: 👍 这个是血泪经验
拷贝文本执行,这个操作还可能存在字符集隐患。
这个事情更深一层逻辑,是你做了创造性的事情,非常优秀👍。
而这个运维同学认为他只是一个”复制粘贴执行的人”, 这种思路下是迟早会出问题的。
作者回复: 👍 非常好的经验
如果能够切实执行,即使有出问题,也是可以很快恢复的
把这些脚本当做开发代码来维护,是一个很好的实践
作者回复: 👍
作者回复: 👍
这基本上是最快的恢复步骤了
作者回复: 这个老大是高手😆
作者回复: 感谢你的分享,都是血泪教训。。
我看有几个是用的可视化工具导致的,后面还是尽量用MySQL客户端敲命令吧😆
ibd文件坏页我之前有回答过其他同学的,看下这个
https://weibo.com/1933424965/H3qIu0JYo?from=page_1005051933424965_profile&wvr=6&mod=weibotime
作者回复: 后来通过 chatrr +i 命令给所有重要的文件增加了 i 权限属性,这样哪怕 root 用户都无法直接删除文件。
mark
作者回复: 就要看情况了
如果原库是删表,就把临时库里面的表导过去,小表逻辑导,大表可以用“透明表空间机制”物理导;
如果原库是误删了一些行,那只能在临时库里面select数据出来,按照业务的需要去补了
作者回复: 其实是要看表的大小
如果是一个大表,逻辑恢复还是比较慢的,毕竟用物理备份来恢复出实例,相对会快些。
当然如果你已经有了一个成熟系统用逻辑恢复来实现,也不用改它,主要关注一下是否满足SLA就可以了^_^
facebook就是主要用逻辑备份的
作者回复: 哦 抱歉哈,我这边验证的时候默认用的latin1,是16+16+4
作者回复: 对的,备份的意识很重要。
不过“drop/truncate 的时候先逻辑备份”这么做的不多^_^
主要的原因是逻辑备份可能会对系统有额外消耗。(全表扫描)
作者回复: 成长了:)
作者回复: 原库的这几个表还会继续更新吗? 如果会继续更新,就用搭主备的方法;
如果没更新了,后面有一个文章专门讲这个问题哈
作者回复: 你的需求是要删表吗?
如果是要删表,就rename,过了观察时间再drop