簡體   English   中英

Mysql docker 容器不斷重啟

[英]Mysql docker container keeps restarting

容器不斷重啟。 我試過了

  • docker-compose 向下 -v
  • docker 體積rm

容器工作正常,直到我的電腦意外關機。

日志

2021-03-27 13:16:08+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.23-1debian10 started.

2021-03-27 13:16:08+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'

2021-03-27 13:16:08+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.23-1debian10 started.

2021-03-27 13:16:08+00:00 [ERROR] [Entrypoint]: MYSQL_USER="root", MYSQL_USER and MYSQL_PASSWORD are for configuring a regular user and cannot be used for the root user

Remove MYSQL_USER="root" and use one of the following to control the root user password:

- MYSQL_ROOT_PASSWORD

- MYSQL_ALLOW_EMPTY_PASSWORD

- MYSQL_RANDOM_ROOT_PASSWORD

Docker-compose.yml

 mysql:
    image: mysql:8.0
    ports:
      - 3306:3306
    expose:
      - "3306"
    cap_add:
      - SYS_NICE # CAP_SYS_NICE
    volumes:
      - ./cache/mysql:/var/lib/mysql
      - ./conf-mysql.cnf:/etc/mysql/conf.d/mysql.cnf
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_PASSWORD=root
      - MYSQL_USER=root
      - MYSQL_DATABASE=mydb
    restart: unless-stopped

只需刪除MYSQL_USER ,因為root用戶是自動創建的。

PS。 這似乎是較新的 docker 版本的問題,因為它以前可以工作並且不會引發錯誤。

用戶root已保留,並且在啟動時已使用 mysql 創建。

MYSQL_USER必須是不同的名稱,而不是root

我遇到了完全相同的問題,這就是我解決它的方法。

Go 到您的 docker-compose.yml 文件並進行以下更改:

  • “MYSQL_USER:root”改為“MYSQL_ROOT_USER:root”然后刪除前一個。

  • "MYSQL_PASSWORD: YourPasseord" 改為 "MYSQL_ROOT_PASSWORD: YourPasseord" 然后刪除前一個。

    示例:這是我的配置...

數據庫服務器:

image: mysql:8.0
       container_name: mysql
       restart: always
       environment:
         MYSQL_DATABASE: DB_epraca
         MYSQL_ROOT_USER: root
         MYSQL_ROOT_PASSWORD: Password
         MYSQL_ROOT_HOST: localhost

僅更新您的 .env 文件:

DB_USERNAME=sail
DB_PASSWORD=password

最近官方 mysql docker 的變化導致了這個問題。 有關更多詳細信息,您可以在 github 上查看此 PR

對於快速解決方案,您應該刪除MYSQL_USER=root並且您的docker-compose.yaml文件應該看起來像這樣

mysql:
    image: mysql:8.0
    ports:
      - 3306:3306
    expose:
      - "3306"
    cap_add:
      - SYS_NICE # CAP_SYS_NICE
    volumes:
      - ./cache/mysql:/var/lib/mysql
      - ./conf-mysql.cnf:/etc/mysql/conf.d/mysql.cnf
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=mydb
    restart: unless-stopped

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM