ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock
生活随笔
收集整理的這篇文章主要介紹了
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述
今天阿里云服務器安裝mysql的收,遇到了一個很熟悉的問題
輸入
解決方案
一、方案1
1.#ps -A|grep mysql顯示類似:1829 ? 00:00:00 mysqld_safe1876 ? 00:00:31 mysqld2.#kill -9 18293.#kill -9 18764.#/etc/init.d/mysql restart5.#mysql -u root -p二、方案2
先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已經啟動. 另外看看是不是權限問題. ------------------------------------------------------------------------------------ [root@localhost beinan]#chown -R mysql:mysql /var/lib/mysql [root@localhost beinan]# /etc/init.d/mysqld start 啟動 MySQL: [ 確定 ] [root@localhost lib]# mysqladmin -uroot password '123456' [root@localhost 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.11Type '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文件來修正它,打開文件,可以看到如下的東東:[mysql d]socket=/var/lib/mysql .sock改一下就好了,但也會引起其他的問題,如mysql 程序連不上了,再加一點:[mysql ]socket=/tmp/mysql .sock或者還可以通過修改PHP.ini中的配置來使php用其他的mysql .sock來連,這個大家自己去找找或者用這樣的方法:ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock成功了,就是這樣ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock在網上查找的時候,很多人的問題都是沒有開啟服務,或者是方案五就能夠解決。如果你和我一樣苦逼,上面的方法都沒有用的話,可以試一試我成功解決的方法。
我的解決方法
這個問題至少讓我查了10個小時,最后無意中才解決。
一、實在沒有辦法,刪除yum功能,因為我是通過yun安裝的。
二、然后重新安裝yum,再安裝mysql,成功解決。
安裝yum方法:yum丟失安裝方法
ps:另外還看到一個很有用的解決方法:
root@localhost ~]# mysql --socket=/tmp/mysql.sock ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)由于mysql 默認的mysql.sock 是在/var/lib/mysql/mysql.sock,但Linux系統總是去/tmp/mysql.sock查找,所以會報錯
[root@localhost ~]# find / -name mysql.sock /var/lib/mysql/mysql.sock1.直接指定mysql通道
[root@localhost ~]# mysql --socket=/var/lib/mysql/mysql.sock Welcome to the MySQL monitor. Commands end with ; or /g. Your MySQL connection id is 2 to server version: 5.0.22Type 'help;' or '/h' for help. Type '/c' to clear the buffer.mysql>2. 創建符號連接:
為mysql.sock增加軟連接(相當于windows中的快捷方式)。
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock eg: root@localhost ~]# mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) [root@localhost ~]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock [root@localhost ~]# mysql Welcome to the MySQL monitor. Commands end with ; or /g. Your MySQL connection id is 3 to server version: 5.0.22Type 'help;' or '/h' for help. Type '/c' to clear the buffer.mysql>希望對這些方法的總結能夠對以后遇到問題的人有幫助,自己確實在這個問題上費了好多功夫,很難受。
總結
以上是生活随笔為你收集整理的ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Eclipse中写jsp文件时,发现里面
- 下一篇: 阿里云服务器Tomcat无法从外部访问