Nacos学习(二):Nacos1.1.4支持Mysql8.0

默认情况下,Nacos开启的是Embedded内嵌数据库,本文记录如何让Nacos1.1.4支持mysql8;
从官网上下载的Nacos默认支持mysql5.X;因为系统上已有了mysql8.X,不想再另外安装,所以调整了下源码,让其支持mysql8.X;
本文只记录Nacos支持mysql8.X源码的修改部份,具体的编绎、安装请查阅前一篇文章:Nacos学习(一):Nacos1.1.4在CentOS7下载源文件、编绎、安装。
修改的第一部份:将mysql的JDBC版本升级到8以上,以支持mysql8.X;
1、修改nacos/pom.xml

           
                mysql
                mysql-connector-java
                5.1.34
           

改为:
           
                mysql
                mysql-connector-java
                8.0.16
           

2、修改naming模块下com.alibaba.nacos.naming.healthcheck.MysqlHealthCheckProcessor:

    import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
改为
    import com.mysql.cj.jdbc.MysqlDataSource;

修改的第二部份:将dbcp缓存升级到dbcp2:
1、修改nacos/pom.xml

           
                commons-dbcp
                commons-dbcp
                1.4
           

改为:
           
                org.apache.commons
                commons-dbcp2
                2.7.0
           

2、修改config模块下com.alibaba.nacos.config.server.service.LocalDataSourceServiceImpl

    import org.apache.commons.dbcp.BasicDataSource;
改为:
    import org.apache.commons.dbcp2.BasicDataSource;


            ds.setMaxActive(30);
改为:
    ds.setMaxTotal(30);


            ds.setMaxWait(10000L);
改为:
            ds.setMaxWaitMillis(10000L);
3、修改config模块下com.alibaba.nacos.config.server.service.BasicDataSourceServiceImpl

    import org.apache.commons.dbcp.BasicDataSource;
改为:
    import org.apache.commons.dbcp2.BasicDataSource;


                val = env.getProperty("db.maxActive." + i, env.getProperty("db.maxActive"));
                ds.setMaxActive(Integer.parseInt(defaultIfNull(val, "20")));
改为:
                val = env.getProperty("db.maxActive." + i, env.getProperty("db.maxActive"));
                ds.setMaxTotal(Integer.parseInt(defaultIfNull(val, "20")));


    ds.setMaxWait(3000L);
改为:
    ds.setMaxWaitMillis(3000L);

上述修改完成后,重新编绎,生成nacos-server-1.1.4安装包目录。

接下来,做如下配置:
1、打开安装包conf目录下的application.properties,添加mysql的连接属性:
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.20.80:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root

2、在mysql中,创建nacos_config数据库,执行安装包conf目录下nacos-mysql.sql文件;
到此,按standalone模式启动Narco,则已支持mysql数据库;

 

 

 

你可能感兴趣的:(Nacos学习)