0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DockerでMySQL立ち上げようとするとMySQL init process failed.となる

Last updated at Posted at 2020-08-16

Docker関連ファイルの設定

以下で設定。

  • docker-compose.yml
version: '3'
services:
  db:
    container_name: mysql-test-db
    build:
      context: .
      dockerfile: ./Docker/mysql/Dockerfile
    volumes:
      - ./Docker/mysql/sqls:/docker-entrypoint-initdb.d
      - ./Docker/mysql/data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - TZ=Asia/Tokyo
    ports:
      - '13310:3306'

  • Dockerfile
FROM mysql:5.7

ADD ./Docker/mysql/conf.d/my.cnf /etc/mysql/conf.d/my.cnf
  • my.cnf
[mysqld]
character-set-server = utf8mb4

[mysql]
character-set-server = utf8mb4

[client]
character-set-server = utf8mb4

発生事象

以下を実行。

docker-compose up -d

Mysqlに接続しようとするとできない。

mysql -u root -h 127.0.0.1 -P 13310 -p 
Enter password: 
ERROR 1130 (HY000): Host '192.168.32.1' is not allowed to connect to this MySQL server

以下でログを確認するとMySQL init process failed.が発生している。

docker-compose logs -f
(略)
mysql-test-db | MySQL init process in progress...
mysql-test-db | MySQL init process in progress...
mysql-test-db | MySQL init process in progress...
mysql-test-db | MySQL init process failed.
mysql-test-db exited with code 1

bashでコンテナに入ってmysqlを叩くとエラーが表示される。

docker container exec -it mysql-test-db bash
root@b50bff16a01d:/# mysql
mysql: [ERROR] unknown variable 'character-set-server=utf8mb4'

修正後ファイル

  • my.cnf
[mysqld]
character-set-server = utf8mb4

[mysql]
default-character-set=utf8mb4

[client]
default-character-set=utf8mb4

単純にコピペミスでした。悲しい。。

修正後ファイル2

さらに半角スペースが入っていると正しく動作しないことがわかりました。。
以下で正常にログインまでできました。
(どこかでハマるとトライ&エラーでさらにハマってしまう悪い例です。元々はスペース無しでやっていたみたいです。)

  • my.cnf
[mysqld]
character-set-server=utf8mb4

[mysql]
default-character-set=utf8mb4

[client]
default-character-set=utf8mb4

参考

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?