LoginSignup
6
4

More than 5 years have passed since last update.

Docker公式RedmineからMySQLコンテナに接続失敗した場合の対処

Posted at

Docker公式RedmineでMySQLを接続したら失敗したので、その備忘録。

エラー内容
Mysql2::Error: Access denied for user 'root'@'172.17.0.4' (using password: NO)

前回の学び[http://qiita.com/chikin14niwa/items/ed61e41b0fafa84ee871] でMySQLコンテナをリンクすると環境変数が引き継がれることはわかっているので、using password: NOと出るのはおかしい。
docker-entrypoint.shを読み、mysql用に以下の環境変数があることがわかった。
設定可能なシステム変数は以下の変数

  • MYSQL_ENV_MYSQL_USER
  • MYSQL_ENV_MYSQL_PASSWORD
  • MYSQL_ENV_MYSQL_DATABASE

用途は以下の通り

環境変数名 利用用途 未設定の場合
MYSQL_ENV_MYSQL_USER データベースのユーザ名 root
MYSQL_ENV_MYSQL_PASSWORD データベースのパスワード 環境変数MYSQL_ENV_MYSQL_ROOT_PASSWORDの値。
MYSQL_ENV_MYSQL_DATABASE データベース名 環境変数MYSQL_ENV_MYSQL_USERの値。未設定の場合redmineが使用される。

結局以下の手順で対応

  1. MySQLにデータベースを作成する。
  2. 1で作成したデータベースを使用できるユーザを作成する。
  3. docker runでredmineを起動するときに環境変数に MYSQL_ENV_MYSQL_USER, MYSQL_ENV_MYSQL_PASSWORD, MYSQL_ENV_MYSQL_DATABASEを指定する。

無事起動しました。

6
4
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
6
4