LoginSignup
2
0

More than 1 year has passed since last update.

AWS WEBサーバーからDBサーバーのMySQLにアクセスする

Posted at

*DBサーバー用のEC2の起動からMySQLのインストールの続き

構成

*パブリックEC2
Linux 2
LANPサーバー

*プライベートEC2
MySQL8.0

DBアクセスに使用するユーザーの状況を確認する

ローカル環境で作った場合、データベース接続に使用するユーザーがローカルホストからのみになっていることがあります
下記コマンドで表示内容のhostを確認します
mysql> select user, host from mysql.user;

ユーザーの権限変更ができるユーザーを作成します
mysql> create user '[ユーザー名]'@'%' identified by '[パスワード]';

特定IPから、もしくはどこからでもアクセス可能に変更します
(%はどこからでもアクセス)
mysql> grant all on *.* to '[変更したいユーザー名]'@'%';
MySQL|外部のホストから接続できるようにする方法 - わくわくBank

ユーザーの認証方式を変更する

MySQL8.0以降の場合、認証形式の変更が必要です

作成したユーザーの認証方式を確認
mysql> SELECT user, host, plugin FROM mysql.user;

pluginが caching_sha2_password になっている場合、 mysql_native_password に変更
ALTER USER '[ユーザー名]'@'%' IDENTIFIED WITH mysql_native_password BY '[パスワード]';

WEBサーバーからDBサーバーのMySQLにアクセスできることを確認する

mysql -h [DBサーバープライベートIP] -D [データベース名] -u [ユーザー名] -p

参考

*【MySQL】PHPで接続できないとき SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
*デフォルトの認証方式変更をする場合
phpからMySQL 8.0へPDOで接続時「SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

2
0
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
2
0