這個問題主要提示是
不能通過
/tmp/mysql
sock
連到服務器
而php標准配置正是用過
/tmp/mysql
sock
但是一些mysql安裝方法將mysql
sock放在/var/lib/mysql
sock或者其他的什麼地方
你可以通過修改/etc/f文件來修正它
打開文件
可以看到如下的東東
[mysqld]
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
還有:
phpmyadmin的說明書有說
The error message
Warning: MySQL Connection Failed: Can
t connect to local MySQL server through socket
/tmp/mysql
sock
(
)
is displayed
What can I do?
For RedHat users
Harald Legner suggests this on the mailing list:
On my RedHat
Box the socket of mysql is /var/lib/mysql/mysql
sock
In your php
ini you will find a line
mysql
default_socket = /tmp/mysql
sock
change it to
mysql
default_socket = /var/lib/mysql/mysql
sock
Then restart apache and it will work
Here is a fix suggested by Brad Ummer in the phpwizard forum:
First
you need to determine what socket is being used by MySQL
To do this
telnet to your server and go to the MySQL bin directory
In this directory there should be a file named mysqladmin
Type
/mysqladmin variables
and this should give you a bunch of info about your MySQL server
including the socket (/tmp/mysql
sock
for example)
Then
you need to tell PHP to use this socket
Assuming you are using PHP
or better
you can specify the socket to use when you open the connection
To do this in phpMyAdmin
you need to complete the socket information in the config
inc
php
For example: $cfg[
Servers
][$i][
socket
] =
/tmp/mysql
sock
;
From:http://tw.wingwit.com/Article/program/MySQL/201311/29312.html