如何更改 mysqladmin 使用的默认套接字?

rob*_*ess 6 mysql mysqladmin

如何更改 mysqladmin 使用的默认套接字?

我没有看到[mysqladmin]in的部分/etc/my.cnf

它默认尝试连接到/tmp/mysql.sock,但是,这不是我的 MySQL 服务器使用的套接字,所以我收到错误:

error: 'Can't connect to local MySQL server through 
    socket '/tmp/mysql.sock' 
Run Code Online (Sandbox Code Playgroud)

我知道您可以在命令行指定套接字,例如:

mysqladmin --socket='/some/other/path/mysql.sock'
Run Code Online (Sandbox Code Playgroud)

如何更改 mysqladmin 使用的默认套接字,以便我不必每次都指定我的非标准路径?

小智 2

/etc/my.cnf在您的或中添加 [mysqladmin] 部分$USER/.my.cnf并设置套接字。这将覆盖编译的套接字和该[mysqld]部分中定义的套接字。

从下图你应该能明白:

VM52-CentOS58[root@ivdb41 ~]# mysqladmin ping

mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql2.sock' (2)' Check that mysqld is running and that the socket: '/var/lib/mysql/mysql2.sock' exists!

VM52-CentOS58[root@ivdb41 ~]# grep -A 1 mysqladmin /etc/my.cnf

[mysqladmin]
socket=/var/lib/mysql/mysql2.sock

VM52-CentOS58[root@ivdb41 ~]# mysqladmin ping mysqld is alive

VM52-CentOS58[root@ivdb41 ~]# grep -A 1 mysqladmin /etc/my.cnf

[mysqladmin]
# socket=/var/lib/mysql/mysql2.sock
Run Code Online (Sandbox Code Playgroud)