mysql数据库已启动,但是登录数据库报错

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

猜你喜欢

转载自blog.51cto.com/sandshell/2119812