解决不能通过mysql.sock连接MySQL问题
点击次数:32 次 发布日期:2008-11-22 17:00:35 作者:源代码网
|
[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" (111)..." 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 3.0.10 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.php3. For example: $cfg["Servers"][$i]["socket"] = "/tmp/mysql.sock"; 源代码网供稿. |
