1
1

More than 5 years have passed since last update.

Lightsail LAMPのMySQLに外部のDBクライアントから接続する

Posted at

LightsailのLAMP(PHP7)イメージ内に設定されているMySQLに外部から接続しようと思ってSequel ProMySQL Workbenchなどでアクセスしようとしたらうまくいかなくて困ったのでメモ。

接続方法はSSH経由

DBクライアントを使いたいけど、さすがに直で外部接続を許可するのは不安なので、SSH経由でのアクセスしたい。

設定内容

SSHホスト: [LightsailのパブリックIP]
ポート: 22
ユーザ: bitnami (Lightsailのデフォルト)
SSH鍵: [Lightsailに登録済みのもの]
MySQLホスト: 127.0.0.1
ポート: 3306
ユーザー: [MySQLのユーザ名]
パスワード: [MySQLパスワード]

で接続すると

Access denied for user 'ユーザ名'@'127.0.0.1'

という感じのエラーがでて接続できない。

解決方法

mysql> SELECT User, Host FROM mysql.user;
+---------------+-----------+
| User          | Host      |
+---------------+-----------+
| [ユーザー名]    | localhost |
・・・・
| root          | localhost |
+---------------+-----------+

↑ こういう感じのときに、[ユーザー名]を使ってアクセスしたいときには

+---------------+-----------+
| User          | Host      |
+---------------+-----------+
| [ユーザー名]    | 127.0.0.1 | <-- これを追加
| [ユーザー名]    | localhost |
・・・・
| root          | localhost |
+---------------+-----------+

これで、接続できるようになりました。

ユーザーの追加クエリ(ざっくり)

grant all privileges on [DB名].* to [ユーザー名]@"127.0.0.1" identified by '[パスワード]' with grant option;
  • [DB名] 接続を許可するデータベース
  • [ユーザー名] 追加するMySQLユーザ
  • [パスワード] ユーザの接続パスワード
  • 詳しくは検索してください。(権限とか)

まとめ

  • localhostと127.0.0.1は同じ意味ではないらしい。
  • 同じ要領でユーザを増やしたり権限を調整できると思う
  • LightsailのMySQLにDBクライアントからアクセスできると便利です。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1