上周五因为服务器搬迁,到凌晨2点40服务器已经开机,上去检查了一圈,有些因为看门狗没有自启而全部没启动的程序都启动一下,然后发现都连不上数据库。
上到数据库一看,整个人瞬间就懵了,库没了!??!
看到线上实盘的数据库只剩下初始化库了,整个人一下子就清醒了,其它线上模拟盘或者从机的都没问题。
去到从机看看却发现从机数据没丢,这。。
在群里说了这事以后,立马先恢复数据库,在搬迁前就做过一次备份,恢复的也挺快。
但是问题又来了,数据库恢复以后,各个需要连接数据库的程序一直报错无法连接到数据库???
然后就是一顿操作研究,发现更改my.ini文件都对这个数据库无效。。。。。
最后终于发现,这个mysql的服务名是mysql,而原本这台服务器上的服务名应该是mysql57,没有装多实例,只有一个数据库,并且在进程里看到它开的端口不是3306。。。这就有点意思了,也就是说,服务器重启了以后自启了一个mysql服务,把mysql的进程占了,导致原本的数据库mysql57无法启动,并且它还自己随机开了端口形成了一个新的数据库~~
第一次遇到这种问题,并且当我发现端口不是3306的时候,我还指定3306端口登录了一次,依旧是可以登上去,但还是那个新的数据库。。
想不通这个原理,不过问题找到了就好解决了,关闭mysql服务,然后启动mysql57,库还在,其它程序也连接正常了,先前的恢复数据白费功夫了~~
整完已经凌晨4点了,安心过完一个周末。