標籤:
串連Mysql提示Can’t connect to local MySQL server through socket的解決方案
2013年9月6日 aiezu 發表評論 閱讀評論
mysql,Mysqldump,Mysqladmin,php串連mysql服務常會提示下面錯誤:
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/<span class=‘wp_keywordlink_affiliate‘><a href="http://www.aiezu.com/tag/mysql-2" title="查看 mysql 中的全部文章" target="_blank">mysql</a></span>/mysql.sock‘ (2)
| 1 |
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2) |
這是由於修改mysql服務的了socket檔案mysql.sock位置,而導致無法通過mysql socket檔案串連到mysql服務引起的,具體解決辦法如下:
1、查看mysql服務的socket檔案位置:
mysql socket檔案的位置是在/etc/my.cnf中設定的,cat /etc/my.cnf內容如下:
[mysqld] datadir=/storage/db/mysql socket=/storage/db/mysql/mysql.sock user=mysql
| 1 2 3 4 |
[mysqld] datadir=/storage/db/mysql socket=/storage/db/mysql/mysql.sock user=mysql |
其中socket等於的路徑就是socket檔案的位置,我們只要修改my.cnf檔案,告訴mysql,mysqldump,mysqladmin mysql服務的socket位置在哪裡就可以。
2、修改my.cnf檔案:
在/etc/my.cnf檔案中添加如下內容,並重啟mysqls服務,即可解決mysql,mysqldump,mysqladmin的“Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘”問題:
[mysqld] datadir=/storage/db/mysql socket=/storage/db/mysql/mysql.sock [mysql] socket=/storage/db/mysql/mysql.sock [mysqldump] socket=/storage/db/mysql/mysql.sock [mysqladmin] socket=/storage/db/mysql/mysql.sock
| 1 2 3 4 5 6 7 8 9 10 11 12 |
[mysqld] datadir=/storage/db/mysql socket=/storage/db/mysql/mysql.sock [mysql] socket=/storage/db/mysql/mysql.sock [mysqldump] socket=/storage/db/mysql/mysql.sock [mysqladmin] socket=/storage/db/mysql/mysql.sock |
Can‘t connect to local MySQL server through socket