mysql数据库默认设置的是开机自启动,重启db01服务器后,想进入数据库查看数据信息:但是无法进入数据库,报错如下:
[root@db01 ~]# mysql -uroot -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysql/mysql.sock' (2)
查看mysql数据库端口状态,尝试重启,关闭数据库,但是报错如下:
[root@db01 ~]# lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 1369 mysql 11r IPv4 9721 0t0 TCP *:mysql (LISTEN) sqld 1369 mysql 34u IPv4 10594 0t0 TCP localhost:mysql->localhost:33160 (ESTABLISHED) mysqld 1369 mysql 50u IPv4 10916 0t0 TCP localhost:mysql->localhost:33176 (ESTABLISHED) mysqld 1369 mysql 51u IPv4 10919 0t0 TCP localhost:mysql->localhost:33178 (ESTABLISHED) java 1444 nginx 128u IPv4 10556 0t0 TCP localhost:33160->localhost:mysql (ESTABLISHED) java 1444 nginx 135u IPv4 10914 0t0 TCP localhost:33176->localhost:mysql (ESTABLISHED) java 1444 nginx 136u IPv4 10917 0t0 TCP localhost:33178->localhost:mysql (ESTABLISHED) [root@db01 ~]# service mysqld status MySQL is running but PID file could not be found [FAILED] [root@db01 ~]# /etc/init.d/mysqld restart MySQL server PID file could not be found! [FAILED] Starting MySQL.......The server quit without updating PID file (/data/mysql/mysql.pid). [FAILED] [root@db01 mysql]# /etc/init.d/mysqld stop MySQL server PID file could not be found! [FAILED] [root@db01 mysql]# /etc/init.d/mysqld start Starting MySQL.....The server quit without updating PID file (/data/mysql/mysql.pid). [FAILED]
解决方法
完善mysql配置文件:
如果确认mysql服务正常运行,还提示文章标题的此错误,那就是“/etc/my.cnf”配置文件的问题了。解决办法是修改“/etc/my.cnf”配置文件,在配置文件中添加“[client]”选项和“[mysql]”选项,并使用这两个选项下的“socket”参数值,与“[mysqld]”选项下的“socket”参数值,指向的socket文件路径完全一致。如下:
[mysqld] datadir=/data/mysql/mysql socket=/data/mysql/mysql.sock ...省略n行(爱E族)... [client] default-character-set=utf8 socket=/data/mysql/mysql.sock [mysql] default-character-set=utf8 socket=/data/mysql/mysql.sock
配置完/etc/my.cnf后,重启服务器后,然后就可以正常进入数据库了
参考文档:
https://www.cnblogs.com/wzg123/p/6723338.html