SpringBoot Mysql迁移MariaDB

背景:

        MariaDB是由MySQL的原始开发者Michael "Monty" Widenius在2009年创立的,目的是为了确保MySQL能够在开源社区中继续自由发展。

        2008年,Oracle收购了Sun Microsystems,从而获得了MySQL的所有权,这引发了开源社区的担忧。社区担心Oracle会将MySQL封闭化或限制其功能,以保护自己的商业数据库产品。因此,Widenius和其他MySQL的核心开发者决定创建MariaDB,以保持数据库的开源和社区驱动。

兼容性:

        MariaDB与MySQL高度兼容,这意味着现有的MySQL应用可以很容易地迁移到MariaDB上。无论是在SQL语法、API接口还是存储格式上,MariaDB都尽量保持与MySQL的一致性,降低了用户的迁移成本。

个人见解:

        其实在我们的一些项目中,直接更换数据库,所有mysql依赖 驱动 等都不更换,也没遇到过什么问题。 但是,我并不敢保证这种情况永远不会出现,想了想还是试着全面替换了mysql的依赖驱动包等。

环境:

        本机Windows

注意事项:

        查看MariaDB版本与Mysql版本兼容性,进行选择替换的版本。

        地址:MariaDB Enterprise Open Source Database | MariaDB        

过程:

        1.更换Mysql依赖包为MariaDB依赖包

        <!--          MariaDB驱动包-->
        <dependency>
            <groupId>org.mariadb.jdbc</groupId>
            <artifactId>mariadb-java-client</artifactId>
        </dependency>

        

        2.修改连接池 

spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: org.mariadb.jdbc.Driver
        druid:
            # 主库数据源
            master:
                url: jdbc:mariadb://localhost:3306/local_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8

以下是JDBC URL 各个参数的含义:

  1. jdbc:mariadb://:这是 JDBC URL 的协议部分,指定了使用 JDBC 连接到 MariaDB 数据库。

  2. localhost:这是数据库服务器的 IP 地址,客户端将尝试连接到这个地址上的数据库服务器。

  3. :3306:这是数据库服务器监听的端口号,MariaDB 默认的端口号是 3306。

  4. local_test:这是要连接的数据库名称。

  5. useUnicode=true:这个参数指定了字符编码应该使用 Unicode 字符集。

  6. characterEncoding=utf8:这个参数指定了字符编码的具体类型,这里是 UTF-8。UTF-8 是一种广泛使用的 Unicode 实现,可以表示世界上大多数语言的字符。

  7. zeroDateTimeBehavior=convertToNull:这个参数定义了当遇到日期时间字段(如 DATETIMETIMESTAMP)的值为 '0000-00-00 00:00:00' 时的行为。在这里,它被设置为 convertToNull,意味着这种值会被转换为 SQL 的 NULL

  8. useSSL=false:这个参数指定了是否使用 SSL 加密连接。在这里,它被设置为 false,意味着不使用 SSL 加密连接。如果你希望使用 SSL 加密连接,需要将其设置为 true 并确保数据库服务器配置了 SSL。

  9. serverTimezone=GMT%2B8:这个参数指定了服务器的时区。在这里,它被设置为 GMT+8,即东八区,对应中国标准时间(CST)。

总的来说,这个 JDBC URL 配置了一个连接到特定 IP 地址和端口上的 MariaDB 数据库的连接,指定了数据库名、字符编码、日期时间行为、SSL 使用情况以及服务器时区。

  • 13
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值