LoginSignup
8
2

More than 3 years have passed since last update.

circleci/mysql:5.7.33 を動かす

Last updated at Posted at 2021-03-18

MySQLが動かない...!

ある昼下がり、ジョブが失敗している。。。
MySQLの起動に失敗したようだ。

手元で起動してみると確かに動かない。

docker run -it --shm-size=1gb -e MYSQL_ROOT_PASSWORD=secret circleci/mysql:5.7.33
#2021-03-18 10:06:33+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.33-#1debian10 started.
#2021-03-18 10:06:33+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
#2021-03-18 10:06:33+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.33-1debian10 started.
#2021-03-18 10:06:33+00:00 [ERROR] [Entrypoint]: MYSQL_USER="root", MYSQL_PASSWORD cannot be #used for the root user
#    Use one of the following to control the root user password:
#    - MYSQL_ROOT_PASSWORD
#    - MYSQL_ALLOW_EMPTY_PASSWORD
#    - MYSQL_RANDOM_ROOT_PASSWORD

実験

公式のイメージを動かしてみる

docker run -it --shm-size=1gb -e MYSQL_ROOT_PASSWORD=secret mysql:5.7.33

動いた。rootでも疎通できる。

環境変数を比べる

どうやら公式は MYSQL_USER=root を使わずとも root を作成するらしい。
そして、 circleci/mysql は勝手に MYUSQL_USER=root を行っているようだ。

docker run -it --shm-size=1gb  mysql:5.7.33 env
#MYSQL_MAJOR=5.7
#HOSTNAME=c8102f95becf
#PWD=/
#HOME=/root
#MYSQL_VERSION=5.7.33-1debian10
#GOSU_VERSION=1.12
#TERM=xterm
#SHLVL=0
#PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
docker run -it --shm-size=1gb  circleci/mysql:5.7.33 env
#MYSQL_MAJOR=5.7
#MYSQL_ALLOW_EMPTY_PASSWORD=true
#HOSTNAME=7ab057cc816f
#PWD=/
#MYSQL_USER=root
#HOME=/root
#MYSQL_VERSION=5.7.33-1debian10
#GOSU_VERSION=1.12
#MYSQL_HOST=127.0.0.1
#TERM=xterm
#MYSQL_ROOT_HOST=%
#SHLVL=0
#MYSQL_DATABASE=circle_test

MYSQL_USER=root がユーザ作成のコンフリクトを起こしている説

以下を実行すると cicrcleci/mysql と同様の事象が起きた。
TODO: error ログを読む。

docker run -it --shm-size=1gb -e MYSQL_USER=root -e MYSQL_ROOT_PASSWORD=secret mysql:5.7.33

MYSQL_USER を空にすれば回避できるのでは...?

動いた...!

docker run -it --shm-size=1gb -e MYSQL_USER=  -e MYSQL_ROOT_PASSWORD=secret circleci/mysql:5.7.33

おわり

MYSQL_USER を空にしたら動きますね。

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