代码之家  ›  专栏  ›  技术社区  ›  Ivan

MySQL可以无缝地替换为MariaDB吗?在这种情况下有什么需要改变的吗?

  •  27
  • Ivan  · 技术社区  · 14 年前

    如果我用MariaDB服务器(Maria&XtraDB storages)代替MySQL(MyISAM&InnoDB)替换MySQL 5.1服务器,那么大多数MySQL客户机软件(包括用PHP 5.2和Java SE 1.6制作的应用程序)都将被替换。。。

    1. 只是继续工作而不做任何改变(可能会有轻微的倒退)?
    2. 或者我必须替换/重新配置客户端驱动程序(比如使用另一个JDBC驱动程序类和连接字符串)?
    3. 或者我需要更改应用程序代码?
    6 回复  |  直到 11 年前
        1
  •  37
  •   Qwerty    14 年前

    http://kb.askmonty.org/v/mariadb-versus-mysql

    所有MySQL连接器(PHP、Perl、Python、Java、MyODBC、Ruby、MySQL C connector等)在MariaDB中都可以正常工作。

        2
  •  1
  •   Peter O. Manuel Pinto    12 年前

    多年来,我一直使用Mariadb替代Oracle的MySQL。它速度更快,而且非常可靠。在apt中只需要很少的关注,但并不严重。此外,Mariadb还有一个小细节;它在日志中看到了[error]“PHP Warning:mysql_connect():Headers和client library minor version mismatch”。除了开始手动编译之外,我还没有找到其他解决方案: askMonty .

    $php -i | grep 'Client API'
    
    Client API version => 5.3.7-MariaDB
    Client API library version => 5.3.7-MariaDB
    Client API header version => 5.1.61
    Client API version => 5.3.7-MariaDB
    
        3
  •  1
  •   seattlegaucho    11 年前

    也许吧?

    只要用相同的版本替换,就不应该有任何问题。如果您当前使用的是MySQL 5.1,可以用MariaDB 5.1替换。如果您使用的是5.5,请使用相应的5.5。MariaDB v5.2和v5.3以及5.1的增强版本。

    JDBC驱动程序类和连接字符串?

    你不应该这样做。MySQL和MariaDB都使用相同的协议和整体语法,但是在某些情况下可能会有一些例外。另一个答案中引用的URL是一个很好的资源: http://kb.askmonty.org/v/mariadb-versus-mysql

    关于驾照,如果你打算将你的项目商业化的分发,会有一些不同。在这种情况下,我建议您重新检查许可条款,如果您有任何顾虑,请按照另一个答案中的建议使用MariaDB/SkySQL版本的连接器。支票 http://www.skysql.com/downloads/java-cc-connectors-mariadb 详细情况。

    应用程序代码应保持不变。

        4
  •  0
  •   Tom    10 年前

    只需要一点反馈,重新保证与mysql驱动程序/代码点火器的兼容性。几分钟前我遇到了位属性类型的问题。

    我使用的是标准的CI数据库配置,它使用的是mysql驱动程序。 将database.php中的驱动程序更改为“mysqli”后,问题就解决了。

    $db['default']['dbdriver'] = 'mysqli';
    

    MariaDB客户端API版本5.5.40

        5
  •  0
  •   AntoineWtrd    6 年前

    MariaDB是MySQL的进化。

    您不必在PHP中更改任何内容。