NACOS启动连接mysql数据库失败

打印 上一主题 下一主题

主题 880|帖子 880|积分 2640

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连接数据库失败
    查看数据库用户配置:
  1. 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
  1. ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
  2. FLUSH PRIVILEGES;
复制代码
更改后测试效果依然是连接数据库失败,怀疑可能是nacos利用ip连接数据库时不支利用mysql_native_password认证插件

  • 可能是由于 caching_sha2_password 插件在初次连接时必要通过网络进行密钥交换
    修改数据库配置中RSA密钥文件路径:
  1. [mysqld]
  2. # Ensure the correct authentication plugin is set
  3. default_authentication_plugin=caching_sha2_password
  4. # Set the paths for the private and public keys
  5. caching_sha2_password_private_key_path=/path/to/private_key.pem
  6. caching_sha2_password_public_key_path=/path/to/public_key.pem
复制代码
网络配置dns问题
利用外网配置了dns,切回内网之后必要删除dns配置
结论


  • 采用本地部署nacos,通过localhost连接数据库可以保证正常连接数据库
  • nacos通过ip访问数据库问题未解决,等待遇到过类似问题的小同伴反馈

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

羊蹓狼

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表