Nacos持久化配置Mysql8后连不上的问题的解决

  • Post author:
  • Post category:mysql


Nacos配置持久化需要在./nacos/conf/application.properties文件中添加以下配置

spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

db.user=[自己的用户名]

db.password=[自己的密码]

但是,我配置完以上内容后,重启nacos,无法登录

http://nacos1:8848/nacos

。(nacos1是我自己添加的host)

经过查询是由于mysql8需要配置时区,如果不配置时区,nacos就连不上mysql,从而也就无法登录nacos自带的图形化界面。

只要配置下mysql的时区就行了,有两种方式配置时区

第一种:直接修改配置文件,永久配置

由于我的mysql是安装在linux下的,要首先进入/etc/my.cnf文件,在my.cnf文件中的[mysqld]下,添加如下配置

default-time_zone = ‘+8:00’

就是这样

注意:一定要在 [mysqld],我之前没有注意,把这行配置放在了最后一行,但是最后一行前面的标题是[mysqld_safe],导致配置时区不起作用。

配置完毕后,重启mysql服务

systemctl restart mysql.service;

再进入mysql数据库,输入

show variables like “%time_zone%”;

查看时区,发现时区已经变为东八区。

第二种:用命令行输入,临时修改时区

进入mysql

mysql -u root -p

输入密码

查看mysql时区,默认没修改的时候是system

show variables like “%time_zone%”;

修改时区为东八区

set global time_zone = ‘+8:00’;  # 修改MySQL全局时区为北京时间,即我们所在的东8区

set time_zone = ‘+8:00’;  # 修改当前会话时区

flush privileges;  # 立即生效

再次输入 ,查看当前时区,

show variables like “%time_zone%”;

time_zone这一栏已经变了。

然后重启nacos,发现nacos自带图形化界面已经成功,nacos数据持久化配置成功。



版权声明:本文为WangChuan_HHH原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。