cloudiac
cloudiac copied to clipboard
[QUESTION]
请描述您的问题
time="2022-08-03T13:49:13.481" level=info msg="/Users/xiaohei/xiaohei/cloudiac/portal/libs/db/mysql_gorm.go:461\n[error] failed to initialize database, got error Error 1045: Access denied for user 'cloudiac'@'172.19.0.4' (using password: YES)"
hi pythonyaoley,.env
中配置的 MYSQL_PASSWORD 只在应用初始启动时会进行设置,后面再修改不会影响己创建过的数据。你是否在初始启动后重新修改过 MYSQL_PASSWORD?
如果需要修改密码可以选择⚠️删除数据⚠️重新初始化:
rm -rf /usr/yunji/cloudiac/var && mkdir -p /usr/yunji/cloudiac/var/{consul,mysql} && cd /usr/yunji/cloudiac/
或者通过手动修改 mysql 密码
- 停用 mysql server 认证
修改 docker-compose.yml,在 mysql 的启动命令中增加 --skip-grant-tables 参数
vim docker-compose.yml
:
mysql:
container_name: mysql
image: "mysql:8.0"
command: [
"--character-set-server=utf8mb4",
"--collation-server=utf8mb4_unicode_ci",
"--skip-grant-tables", # mysql server 停用认证
"--sql_mode=STRICT_TRANS_TABLES,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
]
- 重启 mysql
docker-compose up -d --force-recreate mysql
- 重置 mysql user 密码
source .env && docker-compose exec mysql mysql -uroot -e "flush privileges; ALTER USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD'"
-
重新开启 mysql server 认证 编辑 docker-compose.yml,将 --skip-grant-tables 参数从 mysql 启动命令中删除
-
重启所有服务
docker-compose up -d --force-recreate
重启后检查日志,确认 mysql 连接正常。