记一次差点删库跑路的事故
Posted lwmp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次差点删库跑路的事故相关的知识,希望对你有一定的参考价值。
故事这样发生的,那是一个中午。。。。
老板:小a呀,咱测试项目部署在百度云服务器上,测试数据库部署在阿里云上,为了节省点流量,你把阿里云上的测试数据库迁移到百度云上吧。
小a : 好的,老板。
小a登陆测试服务器一看,咦?竟然有mysql的服务在跑,试着登陆了一下,密码不对,于是他仔细想了想,好像并没有任何项目用到这个数据库,这。。。是什么情况,难道是centos自带的吗
于是小a去问了度娘,还真的有centos自带mysql这一说,为了减少数据库版本不一致可能会导致的麻烦,小a果断卸载了原本的数据库,装上了和要迁移的数据库版本相同的mysql,数据迁移整体还算顺利(除了小a脑子抽筋,不知道看的哪个教程把mysql的data目录的权限变成了root,导致mysql服务一直启动不了,当然最后使用chown mysql:mysql /var/lib/msyql 还是顺利的解决了问题),
正当小a美滋滋的时候,安卓同事告诉他,mantis不能访问了,报的错误是数据库连接失败,当小a确定了mantis是装在测试服务器上的时候,瞬间小a整个人的上半身都被汗水打湿了,这个bug追踪系统可是花费了测试人员和老板大量的心血,上面提交记录了n多bug,自己删了mantis,开发人员对自己会感激不尽,但是老板绝对会吃了自己的,一想到有可能自己删的数据库就是mantis使用的mysql,小a只想说一句 WTFK,没办法,库已经删了,准备准备跑路吧。。。。。。不过作为一个有道德,有,有,有的四有青年,小a还是没有轻言放弃,小a心想:我只是卸载了mysql,并没有删除相应的数据a,数据库再高端,你也得存在磁盘上吧,我找到磁盘上mantis对应的数据库文件,说不定还能恢复,于是在经过了一番努力之后,小a真的在原数据库的data目录下找到了一个mantis文件夹,哈哈哈,把他拷贝到当前mysql对用的数据目录,再把mantis的配置文件中的数据库userName和password改成当前数据库对应的,bingo,没毛病。
问题解决了,终于不用跑路了,但是。。。。
正当小a松了一口气的时候,老板过来了,小a呀,我们的筛选突然出了点问题,中文筛选怎么都返回空
小a心里顿时又紧张起来了,难不成又是数据库迁移导致的bug,凭借问题的现象以及小a的猜测,应该是编码的问题,但是小a记得很清楚自己建立数据库用的是万能的utf-8啊,这是怎么回事呢。。
小a按照正常解决bug的思路,本地模拟请求,打印出bug,直接面向数据库执行sql,天,竟然没问题,,,,没跑了,一定是编码的问题了。。。但是问题出在哪儿呢??
小a心想,我肯定数据库的编码是没有问题的,难道是mysql也有默认的编码?
于是小a赶紧看了之前服务器的mysql和新安装的mysql配置文件的差别,果然,少了一个默认编码的配置,果断加上,,,,终于是搞定了,,,
啦啦啦啦啦啦。。。。。
以上是关于记一次差点删库跑路的事故的主要内容,如果未能解决你的问题,请参考以下文章