mysqlのコンテナが起動しない
docker runコマンドでmysqlコンテナを起動しようとした
docker run --name mysqlex1215 -dit --net=net1215 -e MYSQL_ROOT_PASSWORD=hogehoge -e MYSQL_DATABASE=mysql1215db -e MYSQL_USER=hogehogesan -e MYSQL_PASSWORD=hogehogoesanpass mysql --charcter-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
docker ps
コマンドで起動しているか確認
docker ps
> CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
あれ...何も起動していない。なぜ...。
とりあえずdocker ps -a
してみる
docker ps -a
> CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1a2b3c4d5e6f mysql "docker-entrypoint.s…" 3 minutes ago Exited (1) 3 minutes ago mysqlex1215
存在はしているので作られてはいるっぽい。だけどステータスはExitedなので、やっぱり立ち上がってはいない。
ログを確認
docker logs
コマンドで、立ち上がらないコンテナを指定してログを確認してみる
docker logs mysqlex1215
> 2022-12-15 14:08:42+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.40-1.el7 started.
> 2022-12-15 14:08:42+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to check config
command was: mysqld --charcter-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password --verbose --help --log-bin-index=/tmp/tmp.yhw48vmnMJ
> 2022-12-15T14:08:42.050615Z 0 [ERROR] COLLATION 'utf8mb4_unicode_ci' is not valid for CHARACTER SET 'latin1'
> 2022-12-15T14:08:42.051673Z 0 [ERROR] Aborting
ERROR出てる!なるほど、文字コード指定しているコマンドがどこかおかしいということか。
あ!!!character が charcter になっている。
ということでただのタイポでしたが、こういうのは意外と気付きにくいものなので、ログ様様だった。