MySQLコマンドラインツールが--portパラメーターを無視するのはなぜですか?


90

これは私がやっていることです:

mysql --host=localhost --port=9999 mysql -u root -p --execute="show tables;"

--port引数で指定した内容に関係なく、コマンドは機能します(ポート3306に接続)。1台のマシンで2台のmysqlサーバーを実行していて、ポート番号を明示的に指定して2台目のmysqlサーバーに接続したい。どうしたの?なぜmysqlこのパラメーターを無視するのですか?

回答:


156

ときにlocalhostパラメータが与えられ、MySQLはソケットを使用しています。127.0.0.1代わりに使用してください。


14
この事実がmysqlのマニュアルページに記載されていないことにかなり腹を立てます。
ジャネク

1
ここで受け入れられた答えに加えて、このmysqlのバグレポートmanページへのリンクでもう少し説明を見つけることができます。バグレポートページのコメント者の1人として、接続文字列で「localhost」を使用している場合にクライアントが少なくとも警告をスローしない理由もわかりません。
ブクバ-ziu

3
あなたは命の恩人です!
トゥーケシャフィ

私は今、十年のためにMySQLを使用していますが、これは私の道を交差させていなかった、まだ...
pscheit
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.