Spring项目MySQL向MariaDB的迁移

    MariaDB是MySQL源代码的一个分支,因为MySQL先后被Sun、Oracle收购,虽然目前它还是开源的,但出于对未来的担忧,开发者将它作为MariaDB分离了出来。现在很多公司(比如Fedora)出于商业上的考虑,都准备将MariaDB作为Mysql的替代。而老版本的(5.5.6之前的)mysql向MariaDB基本可以实现无缝切换。

    下面介绍下在SSM项目(maven)中切换的方法,总得来说还是很简单的。基本不存在语法上的问题,除非是跨越了比较大的版本。

    首先,在pom.xml中,将mysql的driver改为mariadb的:

    <dependency>
      <groupId>org.mariadb.jdbc</groupId>
      <artifactId>mariadb-java-client</artifactId>
      <version>1.1.7</version>
    </dependency>

关于版本号,最好自己去官网check一下对应的mysql版本。然后refresh maven,下载依赖包。

    由于spring集成了数据库连接管理,所以直接在applicationContext.xml配置:

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>org.mariadb.jdbc.Driver</value>
        </property>
        <property name="url">
            <value>jdbc:mariadb://XXX.XXX.XXX.XXX:3306/databaseName?characterEncoding=UTF-8</value>
        </property>
        <property name="username">
            <value>username</value>
        </property>
        <property name="password">
            <value>password</value>
        </property>
    </bean>

可以看到和mysql的差别仅在于,数据库驱动driverClass不同了(这是肯定的),url的写法改变了。

    很多情况下,服务器改用了mariadb(克隆了数据库),没有改动项目配置,可能也是没有问题的。但是注意,如果要改动配置,不要只改一个不改另一个,比如driverclass改了,url没改,这就肯定报错了。

    在服务器上安装及配置mariadb,和mysql差别不大,安装(centOS 7):

#yum -y install mariadb-server

    命令行连接mariadb,和mysql一样,root密码默认root:

# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor. 

    增加用户和权限控制命令也雷同,不再赘述。

    关于mariadb的性能,业界众说纷纭。Oracle测试说它不如mysql,mariadb团队测试说它比mysql各方面都提升了,因为都是利益相关方所以也不能全信。经过项目的实测,两者基本没啥差距(和mysql5.1.6相比),但是10.X版本以后,mariadb加上了自行开发的新功能,也许会有新的体验。

转载于:https://my.oschina.net/caibinice/blog/1833586

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值