• Nacos 数据持久化 mysql8.0


    一.问题描述

    直接下载的稳定版本nacos编译后的文件,不支持mysql8及其以上版本,按照官网文档:https://nacos.io/zh-cn/docs/deployment.html 执行完成之后启动会报错,如下(错误信息没有截取完整):

    二.问题处理

    下载nacos源码 https://github.com/alibaba/nacos 选择需要的版本,我这里选择的是1.0.0-R3

    1.修改最外层pom.xml 中 mysql驱动版本,我这边使用的是8.0.16

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.16</version>
    </dependency>

    2.修改naming这个项目 com.alibaba.nacos.naming.healthcheck 包下的  MysqlHealthCheckProcessor 类的第24行导包为:

    import com.mysql.cj.jdbc.MysqlDataSource;

    3.由于mysql8及其以上版本需要带时区,所以还需要修改 console这项目 resources/META-INF下 nacos-default.properties这个文件中的db.url

    db.url.0=jdbc:mysql://11.162.196.161:3306/diamond_devtest?serverTimezone=GMT%2B8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.url.1=jdbc:mysql://11.163.152.91:3306/diamond_devtest?serverTimezone=GMT%2B8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true

    三、打包

    cmd命令窗口进入项目根目录执行:

    mvn -Prelease-nacos clean install -U

    执行完成之后打包好的文件在项目根目录下:

    根目录distribution	arget

    创建数据库nacos并运行nacos/conf/nacos-mysql.sql 文件,创建表格

    配置自己的mysql地址  在nacos/conf/application.properties中添加

    spring.datasource.platform=mysql
    
    db.num=1
    db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?serverTimezone=GMT%2B8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.user=root
    db.password=123456

    注意:在db.url.0中添加时区 serverTimezone=GMT%2B8

    打包好的文件:链接:https://pan.baidu.com/s/1xVeg0t98BKlUbgvQMzTBxA 提取码:vssl 

    四、成果展示

     

  • 相关阅读:
    Linux上安装软件
    VIM的使用
    Linux命令(系统管理)
    django潜心之路4--模型
    django潜行之路3-模板
    django潜行之路2---视图
    django潜行之路1
    sql基础
    Mysql数据库总结
    反爬虫机制
  • 原文地址:https://www.cnblogs.com/gyli20170901/p/11245270.html
Copyright © 2020-2023  润新知