Nacos学习(二):Nacos1.2.0支持Mysql8.0.19

Nacos学习(二):Nacos1.2.0支持Mysql8.0.19

已测试,可以使用

默认情况下,Nacos开启的是Embedded内嵌数据库,本文记录如何让Nacos1.2.0支持mysql8.0.19;

从官网上下载的Nacos默认支持mysql5.X;因为系统上已有了mysql8.X,不想再另外安装,所以调整了下源码,让其支持mysql8.X;

本文只记录Nacos支持mysql8.X源码的修改部份,具体的编绎、安装请查阅前一篇文章:Nacos学习(一):Nacos1.1.4在CentOS7下载源文件、编绎、安装。

修改的第一部份:将mysql的JDBC版本升级到8以上,以支持mysql8.X;

一:源码修改

1、修改nacos/pom.xml

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

改为:

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

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
修改nacos/config/pom.xml

            <dependency>
                <groupId>commons-dbcp</groupId>
                <artifactId>commons-dbcp</artifactId>
                <version>1.4</version>
            </dependency>

改为:

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-dbcp2</artifactId>
                <version>2.7.0</version>
            </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
        </dependency>

改为:

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-dbcp2</artifactId>
            </dependency>

3、修改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);

4、 改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安装包目录。
编译语句:

mvn -Prelease-nacos clean install -U

二、配置修改

接下来,做如下配置:

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数据库;

————————————————
版权声明:本文为CSDN博主「CC贝」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012480990/article/details/102780908

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值