记一次服务器重启导致MySql数据库启动失败

记录一次不太成功的解决过程

服务器版本:CentOS 7.9

数据库版本:Mysql 5.7

问题描述:

        嗯,有点烦躁。一开始,just想要搭一个AWD平台,突然觉得主机名有点长,耽误看代码,就改了一下,然后重启了服务器,MySQL就GG了


        直接连接


        查看mysql和mysqld的状态


尝试启动

        有点棘手

解决过程:

        算了,这名字不改也罢,改回去重启一下


        更改名关系不大,,,改回去罢

大不了从装Mysql

        在MySQL中,socket(套接字)是一种网络通信机制,用于在同一台机器上的不同进程之间进行通信。mysql.sock会在MySql服务器启动时自动创建,这也就解释了使用[mysql -uroot -p]无法登录数据库。

        有一个比较奇怪的发现,刚开始我的想法是自己创建连个文件GT.errGT.pid,但是意外创建了两个文件夹,然后,我就发现mysql.service可以启动了;不过这是虚假的,只是类似于骗过了检查机制,无论我如何尝试也无法登录MySQL。这里问题,,,,不好说,暂时不想处理,应该是操作系统的BUG

        不过,也有了一个发现,现在的关键问题在于如何找GT.pid这个文件。

        接下来,只要解决这个问题,差不多就能真正启动MySQL了
查看了一下/etc/my.cnf文件和/etc/inid.t/mysqld文件,有了一些发现


        于是,我定义了一条pid路径,并效仿其他PID文件,写了一个数字3306

        再次成功启动了,

        但是,,,

        还是虚假的启动,系统并没有给MySQL服务器分配资源,也许,PID必须是系统赋予的,怎么能想当然的人为赋予。

        我有些怀疑问题是出在操作系统,还是MySQL。

        我查询了一些文章,都没有赋值这种操作,哎,
        不对劲,,,在一个MySQL社区上找到一篇文章,说是可以这么写,但针对的是hostname.pid

        既然它这么说了,那么说明这个方法的确是可行的,

        对于无法登录数据库,这应该就是其他问题了(诶?这样说的话,之前我以为的MySQL服务器启动的时候会自动创建mysql.sock文件是错误的?)

最终结果:

        依旧没有解决,最后决定,,,删库吧,顺便换一下操作系统,哎,这次的教训有两条:

  1. 不要随便关闭服务器;
  2. 数据库要随时做好备份。

        之后,可能是因为MySQL配置没有变,直接将data下的MySQL数据库的文件夹备份下来,放到新的/www/server/data目录下,在修改一下权限,数据没有消失,芜湖。emmm,不对,数据消失了,只剩下一些表名,哎,浪费了一天时间。还是得重新写一个数据库。

参考大佬的文章:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值