解决不能通过mysql.sock连接MySQL问题的办法
摘要:解决不🚏能通过【guò】mysql.sock连接📰MySQL问题 这个问题主要【tí zhǔ yào】🎬提示是,不能通【bú néng tōng】过【guò】 '/tmp/mysql.sock'连到服务器,而【ér】php标准配置正是用过【guò】'/tmp/mysql.sock',但是一【dàn shì yī】🉐些🐺mysql安装方🥢法将 mysql.sock放在【fàng zài】🎳/var/lib/mysql.sock或者其他的什【tā de shí】么地方【me dì fāng】,你可以【nǐ kě yǐ】通过【guò】修改🤺/etc/my.cnf文件来🎼修正它【xiū zhèng tā】,打开文【dǎ kāi wén】件,可以看到如下🆙的东东⛴:
[mysqld]
socket=/var/lib/mysql.sock
改一下【gǎi yī xià】就好了,但也会🤮引起其【yǐn qǐ qí】🎦他的【de】问😫题,如mysql程序连不上了【bú shàng le】🐹,再加一点【diǎn】:
[mysql]
socket=/tmp/mysql.sock
或者还可以通过修改🦗php.ini中的【de】配置来使👟php用其他的【de】mysql.sock来连【lái lián】,这个大🍩家自己【jiā zì jǐ】🤡去找找【qù zhǎo zhǎo】
或者用这样的【de】方法【fāng fǎ】:
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
还有:
phpmyadmin的【de】说明书有说🔍
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.php
3.
For example: $cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock'; (T113)
关键词【guān jiàn cí】🗨:mysql.sock,MySQL
阅读本文后您有什么感想? 已有 人给出评价!
- 0
- 0
- 0
- 0
- 0
- 0