nacos连接mysql出现No DataSource set这个问题,在网上百度折腾了一晚上,大部分都是说mysql8后面要加上时区的设置&serverTimezone=UTC,弄了好久还是没解决,太晚了下班回家明天接着弄。。。
第二天早上启动docker容器时突然瞟到了一个ip地址
这时想起可能是docker和宿主机的网络问题,于是继续百度。。。
解决过程
首先说一下网上的一些答案:
1、docker exec -it id /bin/bash 启动容器后进入容器
2、ifconfig 查看网络配置
可以看到容器内的ip是172.17.0.2
3、修改mysql默认监听的地址127.0.0.1,在mysql配置文件里面找到bind-address=127.0.0.1,注释掉或者改为0.0.0.0(没有bind-address就不用管),重启mysql服务
4、授权mysql远程访问权限
grant all privileges on . to ‘root’@‘172.17.0.2’ identified by ‘root’ with grant option;
flush privileges;
刷新
5、重启mysql服务
6、进入容器,执行telnet 172.17.0.2 3306
执行多次后,发现还是不行。。。。
意外尝试用内网ip去连接,居然成功了!!!搞定
7、修改nacos连接mysql的配置文件
nacos连接mysql成功