【问题标题】:ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'错误 1396 (HY000) 在第 1 行:操作 CREATE USER 失败 'root'@'%'
【发布时间】:2018-07-26 14:09:58
【问题描述】:

我正在尝试使用 docker compose 部署 Jhipster 生成的 springboot+mysql 应用程序。运行 docker 日志时,我在 mysql 中收到以下错误

ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'

我在 mysql.yml 中是这样使用的

environment:
        - MYSQL_USER=root
        - MYSQL_PASSWORD=yes
        - MYSQL_ALLOW_EMPTY_PASSWORD=yes
        - MYSQL_DATABASE=jhipsterdemo3

我像这样更新了 application-prod.yml

  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    url: jdbc:mysql://localhost:3306/jhipsterdemo3?useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: root

和我的 docker-compose.yml 一样

jhipsterdemo3-mysql:
    image: mysql:5.7.20
    environment:
        - MYSQL_USER=root
        - MYSQL_PASSWORD=root
        - MYSQL_ALLOW_EMPTY_PASSWORD=yes
        - MYSQL_DATABASE=jhipsterdemo3
    command:             mysqld --lower_case_table_names=1 --skip-ssl
        --character_set_server=utf8mb4 --explicit_defaults_for_timestamp

请提出建议。

【问题讨论】:

    标签: mysql docker-compose jhipster


    【解决方案1】:

    试试,

    jhipsterdemo3-mysql:
    image: mysql:5.7.20
    environment:
      MYSQL_ROOT_PASSWORD=root
      MYSQL_DATABASE=jhipsterdemo3
    command:             mysqld --lower_case_table_names=1 --skip-ssl
        --character_set_server=utf8mb4 --explicit_defaults_for_timestamp
    

    如果你使用的是root用户,你不需要指定用户,并且你指定了一个密码,所以allow_empty_password选项应该是no,这是默认的。另外,由于您使用的是root用户,所以环境应该是MYSQL_ROOT_PASSWORD

    【讨论】:

      猜你喜欢
      • 2015-03-08
      • 2011-07-30
      • 2014-01-09
      • 2017-12-18
      • 2020-05-23
      • 2019-11-18
      • 2013-09-05
      • 1970-01-01
      相关资源
      最近更新 更多