回答編集履歴
2
追記2
answer
CHANGED
@@ -12,4 +12,8 @@
|
|
12
12
|
|user|localhost|
|
13
13
|
|
14
14
|
Bから接続したいのであれば、この辺を参考にBのIPアドレスを追加してください。
|
15
|
-
[https://qiita.com/n0bisuke/items/bd86dd3a79cd7cbcd92e](https://qiita.com/n0bisuke/items/bd86dd3a79cd7cbcd92e)
|
15
|
+
[https://qiita.com/n0bisuke/items/bd86dd3a79cd7cbcd92e](https://qiita.com/n0bisuke/items/bd86dd3a79cd7cbcd92e)
|
16
|
+
|
17
|
+
# 追記2
|
18
|
+
こんな記事を見つけました。AのMySQL Server側で、bind-addressが127.0.0.1になっていませんか?
|
19
|
+
[http://xyk.hatenablog.com/entry/2013/11/08/142548](http://xyk.hatenablog.com/entry/2013/11/08/142548)
|
1
追記
answer
CHANGED
@@ -1,4 +1,15 @@
|
|
1
1
|
サーバPC(A)にMySQL Serverが入っており、クライアントPC(B)にMySQL WorkBenchが入っていたとします。
|
2
2
|
|
3
3
|
`Access denied for user 'user'@'localhost'(using password:YES)`というエラーメッセージを見る限り、`localhost`に向けて接続しようとしています。Bから`localhost`への接続をする場合、接続先はAではありません。Bで起動しているMySQL Serverに向けて接続しようとします。Aから`localhost`への接続をする場合、接続先はAとなります。`localhost`という名前のホストは「自分自身」を指しますので、Aでlocalhostで繋がったからBでもlocalhostで接続できないのはおかしい!というのは全くの誤りです。
|
4
|
-
BからAへ接続するには対象のIPアドレスが必要です。同一LAN内であればAのローカルIPが、ネットワークごしであればAのグローバルIPが必要です。さらに、ネットワーク越しの場合、ルータにポートマッピング設定が必要です。
|
4
|
+
BからAへ接続するには対象のIPアドレスが必要です。同一LAN内であればAのローカルIPが、ネットワークごしであればAのグローバルIPが必要です。さらに、ネットワーク越しの場合、ルータにポートマッピング設定が必要です。
|
5
|
+
|
6
|
+
# 追記
|
7
|
+
もしかしてuserというユーザを作るときにHost設定にlocalhostだけを設定していませんか?
|
8
|
+
「select user, host from mysql.user where user='user'」というクエリを実行して、userに許可されたHostがlocalhostだけになっていないか確認してください。
|
9
|
+
こんな感じだったら駄目です。これだとAのMySQL Serverに接続できるのはAのlocalhostというホストでの接続のみで、外部からの接続が不可能になっています。
|
10
|
+
|user|host|
|
11
|
+
|--|--|
|
12
|
+
|user|localhost|
|
13
|
+
|
14
|
+
Bから接続したいのであれば、この辺を参考にBのIPアドレスを追加してください。
|
15
|
+
[https://qiita.com/n0bisuke/items/bd86dd3a79cd7cbcd92e](https://qiita.com/n0bisuke/items/bd86dd3a79cd7cbcd92e)
|