• CentOS6.5 [ERROR] /usr/libexec/mysqld: Can't create/write to file '/var/lib/mysqld/mysqld.pid' (Errcode: 2)


    环境是CentOS6.5,先贴个错误代码:

    这个问题解决了大半天,浪费了好多时间,不过也算是值了。

    事故起因是因为突然断电,mysql server直接干掉了,也没有备用电源,重启了之后看日志tail -f /var/log/mysqld.log,刚开始报错:

    错误信息 :ERROR 2002 (HY000): Can't connect to local MySQL server server through socket '/var/lib/mysql/mysql.sock'(111) 

    报错(2)是不可识别mysql.sock,因为可能在你的/var/lib/mysql已经含有mysql.scok文件,这个东西每次建立mysql连接的时候都会有,但是由于掉线的原因,删掉吧。。。

    另外如果看见有什么ib_logfile0、ib_logfile1、ib_*乱七八糟,都是掉线的时候临时保存的文档,如果你要看的话,自己去翻编码查看吧...lz也没搞过,总之,删掉吧。。。

    mv ./ib_logfile0 ./ib_logfile_0 

    错误信息 :ERROR 2002 (HY000): Can't connect to local MySQL server server through socket '/var/lib/mysql/mysql.sock'(111) 

    报错(111)是需要找不到指定位置,需要指定一下位置,或者经过完美的重启,server抽风也能好。

    查了半天,说什么的都有,不靠谱,还有说ln -r的,最后找到直接解决方法了:

    修改/etc/my.cnf,先添加一个sock连接位置,因为链接mysql的方式是本质还是通过socket,所以要是要更改修改mysql的配置文件: 

      socker=/var/lib/mysql/mysql.sock  # 加在mysqld下,没有就随便添加

    解决:
    修改 /etc/my.conf
    原来的
     #pid-file=/var/run/mysqld/mysqld.pid
    修改为
    pid-file=/var/lib/mysql/mysqlid.pid

    最后:ps -A | grep mysql 查看一下进程号,直接kill -9 杀掉

    最后在重新启动mysql,大功告成。

    如果忘了root密码....

    直接mysql——>use mysql; ——> update user set password=password"新密码" where user="root”;——> flush privileges;

    5个小时也算值了 T^T

  • 相关阅读:
    poj1661【DP,左右两端dp】
    hdoj1074【A的无比爆炸】
    hdoj1024【DP.最 大 m 字 段 和】(写完我都怕。。。不忍直视。。)
    qq教xixi写模拟加法【非常爆炸】
    错排公式
    POJ3616【基础DP】
    hdoj1257【疑问】(贪心)
    【弱的C艹之路。。未完待续】
    hdoj1728【搜索的两种写法】
    hdoj1001【智障了。。。】
  • 原文地址:https://www.cnblogs.com/xiapu5150/p/7601579.html
Copyright © 2020-2023  润新知