Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’

A frequent error message received when using the mysql command line utility is:

 Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ While this

 error message can be frustrating, the solution is simple.

When connecting to a MySQL server located on the local system, the mysql client

 connects thorugh a local file called a socket instead of connecting to the localhost

 loopback address 127.0.0.1. For the mysql client, the default location of this socket

 file is /tmp/mysql.sock. However, for a variety of reasons, many MySQL installations

 place this socket file somewhere else like /var/lib/mysql/mysql.sock. 

While it is possible to make this work by specifying the socket file directly in the

 mysql client command

mysql –socket=/var/lib/mysql/mysql.sock …

it is painful to type this in every time. If you must do so this way (because you don’t

 have permissions to the file in the solution below), you could create an alias in your

 shell to make this work (like alias mysql=”mysql –socket=/var/lib/mysql/mysql.sock”

 depending on your shell). 

To make your life easier, you can make a simple change to the MySQL configuration

 file /etc/my.cnf that will permanently set the socket file used by the mysql client. After

 making a backup copy of /etc/my.cnf, open it in your favorite editor. The file is divided

 into sections such as 

[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock

[mysql.server]
user=mysql
basedir=/usr/local/mysql

If there is not currently a section called [client], add one at the bottom of the file and copy

 the socket= line under the [mysqld] section such as:

[client]
socket=/var/lib/mysql/mysql.sock

If there is already a [client] section in the my.cnf file, add or edit the socket line as appropriate.

 You won’t need to restart your server or any other processes. Subsequent uses of the mysql

 client will use the proper socket file.

相关推荐: nslookup命令常用方式说明

有时候设置域名解析一直不生效,比较着急用nslookup命令就可以查看到是哪个环节解析没有生效。nslookup用于查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题 nslookup domain [dns-server] //如…

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论