我的my.cnf
配置如下
[mysqld]
#...忽略其他配置
port = 3306
socket = /usr/local/mysql/data/mysql.sock
datadir = /usr/local/mysql/data
#...忽略其他配置
服务端进程和客户端进程运行在同一台类Unix
操作系统时,MySQL
默认会使用Unix域套接字文件
来进行进程间通信。
根据my.cnf
的配置,MySQL
服务端启动之后,在/usr/local/mysql/data
目录下会自动生成mysql.sock
文件,但是MySQL
服务器默认监听的Unix域套接字文件
的路径是/tmp/mysql.sock
解决方法:
创建软连接(如果之前没有目录则创建,如果之前存在mysql.sock
则删除)
sudo ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock