一、卸载原有的MySQL
1)yum卸载mysql相关的程序:
# yum remove mysql mysql-server mysql-libs
(注:如有compat-mysql51,也加上)
2)删除mysql相关的目录、文件:
# rm -rf /var/lib/mysql
# rm /etc/my.cnf
3)检查是否卸载完:
# rpm -qa | grep mysql
(如有未卸载完的,继续卸载)
二、在线安装步骤
1)设置MariaDB安装源:
a、打开MariaDB官网的下载页面:https://downloads.mariadb.org/
b、点击安装前相关配置操作:https://downloads.mariadb.org/mariadb/repositories/
c、选择相应的Linux发行版,以及MariaDB版本(注:10.0是开发版)
d、会出现如下一段配置内容:
# MariaDB 5.5 CentOS repository list - created 2013-11-16 16:58 UTC
# http://mariadb.org/mariadb/repositories/ [mariadb]
name = MariaDB
enable=1
priority=3
baseurl = http://yum.mariadb.org/5.5/centos6-x86
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
//把上面这段内容添加到 /etc/yum.repos.d/ 目录下的新建文件 MariaDB.repo 中,保存。
//注:enable=1 和 priority=3 是手工加进去的,其中 priority=3 是针对 YUM 的 PRIORITIES 优先级插件的
2)安装 MariaDB 及相应 PHP 扩展
也是指定几个主要的安装包,剩下的让 yum 自己进行依赖关系检查。
a、#yum install MariaDB-server MariaDB-client php-mysql
b、或者不安装 MariaDB-server 而改为具有同步多主群集特性(synchronous multi-master cluster)的
MariaDB Galera Cluster:
# yum install MariaDB-Galera-server MariaDB-client galera
我的实际安装步骤是上面的a选项,即:MariaDB-server
3)完成、升级
在第1)步配置好的yum源的基础上,直接执行系统升级。
MariaDB 相关安装包会被安装,不需要的 MySQL 包将被卸载,并且升级之后不需要对系统进行修补了。
# yum update --skip-broken
//这是系统升级,耗费时间较长
不管版本是否升级了,执行一下数据库升级指令总没有坏处:
# mysql_upgrade -p
看看数据库版本是不是升级了:
# mysql -u root -p -e 'show global variables like "version";'
Enter password:
+---------------+----------------+
| Variable_name | Value |
+---------------+----------------+
| version | 5.5.33a-MariaDB |
+---------------+----------------+
将 MariaDB 加入随系统自启动列表,
# chkconfig --levels 345 mysql on
//注:以前 MySQL 的时候是 mysqld,现在是 mysql,就差了一个字母 d。
启动它,
# service mysql start
这个时候服务器上的网站应该已经可以正常工作了,访问数据库没有问题。
4)配置文件
因为之前进行了卸载操作,所以原来的 phpMyAdmin 的配置文件都被清除了,需要重新配置。
而对于 MySQL 的配置文件 /etc/my.cnf,因为 MariaDB 虽然创建了一个 my.cnf.d 文件夹来存储自己的配置文件,
但是它会首先加载 my.cnf,且原来 MySQL 的配置对 MariaDB 而言还是有效的。
但是也有些例外:
MariaDB 默认使用 Aria 存储引擎存储内部临时文件,而不是 MySQL 默认使用的 MyISAM。
如果你有很多临时文件,最好增加参数 aria-pagecache-buffer-size 并设置为与 key-buffer-size 相同的数值。
如果没有使用 MyISAM,则可以将 key-buffer-size 设置为一个极小的值,如 64K。