docker-compose 部署nacos 做数据库持久化错误处理

mysql版本:8.0.32

nacos版本:2.2.0

ps: 2.2.0以上版本开启 nacos.core.auth.enabled=true 验证之后有个key value 必填觉得麻烦使用2.2.0的版本

持久化yml文件:

spring.datasource.platform=mysql
spring.sql.init.platform=mysql

#数据库数量
db.num=1

#下标0开始 nacos_config数据库以实际为准
db.url.0=jdbc:mysql://db:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC

#账号密码以实际为准
db.user.0=nacos
db.password.0=testNacos

#连接池配置
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2

启动镜像后发现:

 出现No DataSource set  提示没有这个数据库 然后使用可视化工具发现 账号密码没有错误

查询资料得知 8.0 之后的mysql 密码加密方式不同应该改成 mysql_native_password 此种加密方式

有两种修改加密方式

(一) 进入mysql之后 执行命令

ALTER USER '你的账号'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';

(二) 部署mysql时挂载 my.cnf文件 ps [mysqld] 不能省略

[mysqld]
authentication_policy= mysql_native_password

使用 -v 命令将cnf 文件挂载到 容器的/etc/mysql/conf.d目录下面

docker-compose 的写法 

 

 重启容器后发现

启动成功如果想要开启账号密码验证 

nacos.core.auth.enabled=true 这个地方放开就行

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值