mysql - 错误 1396 (HY000) 在第 1 行:操作 CREATE USER 失败 'root'@'%'
问题描述
我正在尝试使用 docker compose 部署 Jhipster 生成的 springboot+mysql 应用程序。运行 docker 日志时,我在 mysql 中收到以下错误
错误 1396 (HY000) 在第 1 行:操作 CREATE USER 失败 '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
请建议。
解决方案
尝试,
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
.
推荐阅读
- beautifulsoup - 美丽的汤缺少数据(div)
- c# - 在混合使用同步方法时实现 Web API 中异步/等待的好处
- android - 初始化插件com.android.tools.ndk时出现致命错误解决办法
- mysql - 上周与两周前的 MYSQL 每日数据比较
- r - 使用“SelectizeInput”在 R Shiny Dashboard Sidebar 上生成警告消息
- ajax - 当我使用像 find() 或 sync() 这样的 Eloquent 方法时,我会遇到各种错误:404 Not Found 和一些 tims 500 internal server error
- react-native - 世博会后台定时器
- python - 如何在 if 语句中调用列表的一部分?
- javascript - 如何在javascript中呈现没有换行的反斜杠
- python - 如何使用python重新格式化文件