天天看点

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.sock'

今天服务器遇到了一个很熟悉的问题

输入

#mysql -u root -p

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.sock' (111)

随即上网找寻答案

根据大家提供的方法我逐一尝试

方案1.

 1.#ps -A|grep mysql

   显示类似:

  1829 ?        00:00:00 mysqld_safe

   1876 ?        00:00:31 mysqld

  2.#kill -9 1829

  3.#kill -9 1876

  4.#/etc/init.d/mysql restart

  5.#mysql -u root -p

   他的麻烦解决了,我的还没解决!

继续找

方案2

先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.

另外看看是不是权限问题.

------------------------------------------------------------------------------------

[[email protected] beinan]#chown -R mysql:mysql /var/lib/mysql

[[email protected] beinan]# /etc/init.d/mysqld start

启动 MySQL: [ 确定 ]

[[email protected] lib]# mysqladmin -uroot password '123456'

[[email protected] lib]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or /g.

Your MySQL connection id is 3 to server version: 4.1.11

Type 'help;' or '/h' for help. Type '/c' to clear the buffe

他的也解决了,我的麻烦还在继续,依然继续寻找

方案3

问题解决了,竟然是max_connections=1000 他说太多了,然后改成500也说多,无奈删之问题解决了。

还是不行

方案4

     /var/lib/mysql 所有文件权限 改成mysql.mysql

     不行不行

方案5

     摘要:解决不能通过mysql .sock连接MySQL问题 这个问题主要提示是,不能通过 '/tmp/mysql .sock'连到服务器,而php标准配置正是用过'/tmp/mysql .sock',但是一些mysql 安装方法 将 mysql .sock放在/var/lib/mysql .sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东:

   [mysqld] 

  socket=/var/lib/mysql .sock 

  改一下就好了,但也会引起其他的问题,如mysql 程序连不上了,再加一点: 

  [mysql] 

  socket=/tmp/mysql .sock 

  或者还可以通过修改php.ini中的配置来使php用其他的mysql .sock来连,这个大家自己去找找

  注意是mysql不是mysqld

  或者用这样的方法:

  ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock

成功了,就是这样ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock

OK!

[[email protected] ~]# service mysql stop

Shutting down MySQL....                                    [  OK  ]

[[email protected] ~]# service mysql start

Starting MySQL.                                            [  OK  ]

[[email protected] ~]# mysql -uroot -p

Enter password: 

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.sock' (111)

[[email protected] ~]# more /etc/issue

CentOS release 6.5 (Final)

Kernel \r on an \m

[[email protected] ~]# netstat -ntlp  | grep 3306

[[email protected] ~]# netstat -ntlp  | grep 612345

[[email protected] ~]# netstat -ntlp  | grep 62345 

[[email protected] ~]# netstat -ntlp  | grep 61234

tcp        0      0 0.0.0.0:61234               0.0.0.0:*                   LISTEN      1768/mysqld         

[[email protected] ~]# more /etc/my.cnf |grep sock

socket=/mnt/mysql/mysql.sock

#socket=/usr/local/mysql/mysql.sock

[[email protected] ~]# vi /etc/my.cnf

socket = /tmp/mysql.sock

[mysql]

no-auto-rehash

socket=/mnt/mysql/mysql.sock

[mysqld]

datadir=/mnt/mysql/data

socket=/mnt/mysql/mysql.sock

#socket=/usr/local/mysql/mysql.sock

user=mysql

port=61234

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

binlog_format = mixed

expire_logs_days = 15

slow_query_log = 1

long_query_time = 1

slow_query_log_file = /mnt/mysql/logs/mysql-slow.log

log_error = /mnt/mysql/logs/mysql-error.log

server-id = 2

log-bin = /mnt/mysql/logs/mysql-bin.log

#replicate-do-db=snatch_web

replicate-ignore-db=mysql

innodb_buffer_pool_size = 1000M

group_concat_max_len=4294967295

max_allowed_packet=4294967295

[mysqld_safe]

log-error=/mnt/mysql/logs/mysqld_error.log

pid-file=/mnt/mysqld/mysqld.pid

"/etc/my.cnf" 29L, 739C written

[[email protected] ~]# Zser^C

[[email protected] ~]# service mysql stop

Shutting down MySQL...                                     [  OK  ]

[[email protected] ~]# service mysql start

Starting MySQL.                                            [  OK  ]

[[email protected] ~]# mysql

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)