如何直接用MariaDB替换MySQL?


18

我已经在Ubuntu 14.04 Server上运行了多个MySQL数据库,并且希望将它们尽可能平稳地迁移到兼容的MariaDB。我也在使用PHPMyAdmin。除了导出所有数据然后在安装后全部重新导入之外,还有其他方法吗?

Answers:


31

事实证明它很简单:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install mariadb-server

只要询问您是否要删除数据库,并且使用与mysql-DB相同的凭据,只要您说不,这不会破坏phpmyadmin或任何webapp。还要在执行此操作之前备份您的数据。


迁移设置呢?这些肯定在/ etc中具有单独的配置位置,并且(可能)具有不同的配置语法吗?
thomasrutter 2014年

1
它会自动迁移设置,但会在安装mariadb时警告您可能的不兼容性-Andreas
Hartmann

2
它并没有要求我删除任何数据库的选项,也没有使用我的旧my.cnf作为基本配置。这是我到目前为止所做的最流畅的升级之一。
2014年

另外,MariaDB的官方站点还有较新版本可作为存储库或debs安装。目前,Ubuntu仓库给我v5.5,但mariadb仓库给我v10.1,这有很多区别。
2014年

1
卸载MySQL时,它应该询问您是否删除数据库
Andreas Hartmann 2014年

1

Andreas Hartmann的答案不完整,并且也删除了PHPMYADMIN和MYSQLI

因此,除了mariadb-server之外,您还应该安装以下内容:

apt-get install mariadb-client libmariadbclient-dev libmariadbd-dev phpmyadmin

要使phpMyAdmin仅在SSL上再次运行,您需要重新配置etc / phpmyadmin / apache.conf以包括http => https重写。

如果您要在带有带有Dovecot的Postfix的LAMP服务器上运行,则还需要执行以下操作:

**** Everything worked except MAIL.  Dovecot not configured properly and can’t send/receive mail.
apt-get install dovecot-mysql       fixed mail receipt but sending is still blocked.
apt-get install libclass-dbi-mysql-perl
apt-get install php-auth
apt-get install php-pear
apt-get install postfix-mysql
**** EVERYTHING WORKING FINE HERE

可能不需要最后三(3)个apt-get语句,因为libclass-dbi-mysql-perl可能会为您安装它们,这取决于更新软件包列表的方式。

如果您正在运行其他软件,则需要对其进行测试并安装所有可能已通过自动依赖性计算删除的缺少的库。

更新
FTP服务也被删除(在我的情况下为PureFTPD),需要安装: apt-get install pure-ftpd-common pure-ftpd-mysql


2
实际上,对我来说phpmyadmin没有被删除。另外,我怀疑您是否仅需要这些软件包才能使服务器运行,尤其是这些dev软件包是针对开发人员而不是最终用户的。
Andreas Hartmann
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.