MySQLクライアントライブラリは、データベースへの接続方法を推測しようとします。 localhost
を指定すると ホスト名として、ローカルソケットを使用していることを前提としています(コンピューターでmysql.sock
という名前のファイルを検索します) 、おそらく/var/lib/mysql
の下 または/usr/local/mysql/
。
ただし、何かを使用する場合 それ以外の場合は、IPアドレス、別のホスト名、またはあなたの場合はmysqldev
のように 、tcpを介してホストに接続しようとします。エラーメッセージから、ローカルmysqlサーバーがtcpポート3306(mysqlのデフォルト)でリッスンしていないように見えます
my.cnf(おそらく/etc/my.cnf
)かどうかを確認します または/etc/mysql/my.cnf
)tcpの使用を許可します。
skip-networking
コメントアウト:
#skip-networking
サーバーを再起動します。その後、接続を再試行してください。
ソケットがどこにあるかを確認するには、localhostを介して接続し、次のコマンドを発行します。
mysql> show global variables like '%socket%';
+---------------+-----------------------------+
| Variable_name | Value |
+---------------+-----------------------------+
| socket | /var/run/mysqld/mysqld.sock |
+---------------+-----------------------------+