我正在尝试使用docker compose部署Jhipster生成的springboot + mysql应用程序。运行docker日志时mysql中出现以下错误
第1行上的错误1396(HY000):'root'@'%'操作CREATE USER失败
我正在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
请提出建议。
答案 0 :(得分:0)
尝试
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
。