ToB企服应用市场:ToB评测及商务社交产业平台
标题:
NACOS启动连接mysql数据库失败
[打印本页]
作者:
羊蹓狼
时间:
2024-10-4 05:54
标题:
NACOS启动连接mysql数据库失败
NACOS启动连接数据库失败
运行环境
操作系统:ubuntu20.04 双网卡
数据库:mysql8.0.36
nacos版本:nacos2.2.3
问题体现
外网环境下docker-compose启动nacos乐成,切换到内网之后,重启docker-compose,nacos启动失败,提示数据库连接失败
问题排查
排除数据库配置问题,查到网上很多资料说是数据库配置错误,但是外网环境下nacos能正常启动,阐明配置是正确的;
怀疑可能是docker容器内部无法访问数据库,进入容器测试发现3306端口是连通的,故排除网络问题;
查看mysql日记
tail -f /var/log/mysql/error.log
根据日记可知:Nacos 容器的 IP 地址 172.18.0.5 无法被 MySQL 服务器剖析,不外这个只是warning日记,现实不影响系统利用。
改本钱地部署nacos测试,发现利用127.0.0.1可以连接数据库,但利用服务器ip连接数据库失败
查看数据库用户配置:
select user,host,plugin from mysql.user where user='root';
复制代码
发现利用localhost连接数据库利用的暗码认证插件为mysql_native_password,通过ip连接数据库利用的暗码认证插件为caching_sha2_password。
到这里问题基本可以确定:nacos连接mysql数据库,服务器不能访问外网,利用caching_sha2_password认证插件连接数据库,导致认证失败
更改用户’root’@'%'认证插件为mysql_native_password
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;
复制代码
更改后测试效果依然是连接数据库失败,怀疑可能是nacos利用ip连接数据库时不支利用mysql_native_password认证插件
可能是由于 caching_sha2_password 插件在初次连接时必要通过网络进行密钥交换
修改数据库配置中RSA密钥文件路径:
[mysqld]
# Ensure the correct authentication plugin is set
default_authentication_plugin=caching_sha2_password
# Set the paths for the private and public keys
caching_sha2_password_private_key_path=/path/to/private_key.pem
caching_sha2_password_public_key_path=/path/to/public_key.pem
复制代码
网络配置dns问题
利用外网配置了dns,切回内网之后必要删除dns配置
结论
采用本地部署nacos,通过localhost连接数据库可以保证正常连接数据库
nacos通过ip访问数据库问题未解决,等待遇到过类似问题的小同伴反馈
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4