Kir*_*rby 4 mysql configuration
我有以下配置
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql-socket/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
innodb_buffer_pool_size=64M
innodb_log_file_size=16M
[mysqld_safe]
log-error=/var/log/shared/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Run Code Online (Sandbox Code Playgroud)
因此,套接字文件有一个自定义路径/var/lib/mysql-socket/mysql.sock
。
MySQL 服务器工作,但我无法连接到它。
$ mysql -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)
但需要的文件存在。
$ ls /var/lib/mysql-socket/mysql.sock
/var/lib/mysql-socket/mysql.sock
Run Code Online (Sandbox Code Playgroud)
当套接字文件的路径是/var/lib/mysql/mysql.sock
它工作正常。
Kár*_*agy 10
您的错误消息说它连接到错误的套接字:
ERROR 2002 (HY000): 无法通过 socket '/var/lib/mysql/mysql.sock' 连接到本地 MySQL 服务器 (2)
您可以在命令行中指定:
mysql -S /var/lib/mysql-socket/mysql.sock ...
Run Code Online (Sandbox Code Playgroud)
或者在客户端部分下的 my.cnf 文件中(这也可以在用户主目录中~/.my.cnf
):
[client]
socket=/var/lib/mysql-socket/mysql.sock
Run Code Online (Sandbox Code Playgroud)