1、mysql8.0版本过高存在的问题
a、nacos2.0.x使用mysql8.0时启动失败的问题
原因:nacos默认调用的mysql依赖包版本太老,无法连接mysql8.0版本数据库
解决:
(1)、将mysql-connector-j-8.2.0.tar.gz包中的mysql-connector-j-8.2.0.jar依赖包复制到nacos的plugins/mysql目录(需要新建)下;
(2)、修改mysql的设置,改变MySQL8的默认认证方式:
[mysqld]
default_authentication_plugin=mysql_native_password;
然后在mysql命令行执行ALTER USER ‘username’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
(3)、将nacos\conf目录下的application.properties改名为bootstrap.properties,然后启动nacos(错误方法,nacos可以启动,但实际上没有使用外部mysql数据库,而是使用了nacos自带嵌入式数据库derby)
版本 安装包 涉及端口
Jdk-1.8.0_172
mysql-8.0.35 新版 3306
redis-6.2.6 v10 新版 6379
nacos-2.2.3 新版 8848 9848 9849
nginx-1.16.1 80
2、nacos2.2.3启用密码验证登录
问题:nacos2.2.3版本默认情况下不使用密码验证,可以直接访问配置页面
解决:要启用密码验证登录,修改nacos安装目录下conf\application.properties配置文件,设置:
nacos.core.auth.system.type=nacos #默认配置
nacos.core.auth.enabled=true #从false改为true
重启nacos
3、重置nacos用户nacos的密码
修改mysql数据库中nacos库的user表中nacos用户的password字段为"$2a10 1010EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu",即可将nacos用户的密码恢复为默认的nacos
以默认的nacos密码登录以后,在线修改nacos密码为新的密码。
4、集群部署方式微服务架构中调用“文件”服务使用lb://协议导致文件保存和调用服务器不一致,文件查看或者下载失败的问题。
描述:目前集群部署方式下,nginx使用主备模式(app2为主,app3是备机),只有主机服务失败时才会访问备机服务;但ruoyi架构中gateway调用后台服务默认配置为lb://协议,会出现文件服务访问app2服务器,文件却保存在app3上的问题,此时会导致查看或者下载文件失败
解决方式:
1、在nacos配置中,将traffic-gateway-dev.yml中的
文件服务
- id: traffic-file
#uri: lb://traffic-file
uri: http://localhost:9300
predicates:
- Path=/file/**
# - Path=/dev-api/file/**
filters:
- StripPrefix=1