web-dev-qa-db-ja.com

mysqladminが使用するデフォルトのソケットをどのように変更しますか?

Mysqladminが使用するデフォルトのソケットをどのように変更しますか?

[mysqladmin]/etc/my.cnfのセクションがありません。

デフォルトでは/tmp/mysql.sockに接続しようとしますが、これはMySQLサーバーが使用するソケットではないため、次のエラーが発生します。

error: 'Can't connect to local MySQL server through 
    socket '/tmp/mysql.sock' 

次のように、コマンドラインでソケットを指定できることを知っています。

mysqladmin --socket='/some/other/path/mysql.sock'

Mysqladminが使用するデフォルトソケットを変更して、非標準パスを毎回指定する必要がないようにするにはどうすればよいですか?

5
robguinness

/etc/my.cnfまたは$USER/.my.cnfに[mysqladmin]セクションを追加し、ソケットを設定します。これは、コンパイルされたソケットと[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
2
Todd Lyons

さらに良いことに、mysqlクライアント呼び出しをカバーするためにそのセクション[クライアント]を作成します。これはmysqladminでのみ機能するため

2
TechieGurl