2014年(8)
分类: Mysql/postgreSQL
2014-08-28 12:36:20
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。
MariaDB由MySQL的创始人Michael Widenius、David Axmark和Allan Larsso主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB目前是最佳的MySQL替代方案。
当前MariaDB的版本有几个系列,针对MySQL 5.5的是MariaDB 5.5,最新版本为5.5.39版。下面以这个版本讲述MariaDB在各种Linux发行版的安装。
那么哪些公司或组织在使用MariaDB呢?有:
Mozilla Corporation
Wikipedia
OpenSuse
Fedora
OLX
Nimbuzz
SlashGear
ArchLinux
Redhat Enterprise Linux (from RHEL7)
Slackware
Mageia
Slackware
TurboLinux
The Chakra Project
Gentoo
GNU/Linux KDu
MariaDB官方推荐使用各种包管理器通过软件仓库进行安装。
编辑/etc/yum.repos.d/MariaDB.repo文件,输入下面的内容:
目前MariaDB已经在RedHat 6、RedHat 5、CentOS 6、CentOS 5、Fedora 20、19、18、17和OpenSUSE等系统的软件仓库内。所以,请按如下内容正确配置软件仓库。
RedHat 6 32位
# MariaDB 5.5 RedHat repository list - created 2013-08-11 14:29 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
RedHat 6 64位
# MariaDB 5.5 RedHat repository list - created 2013-08-11 14:30 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
RedHat 5 32位
# MariaDB 5.5 RedHat repository list - created 2013-08-11 14:31 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
RedHat 5 64位
# MariaDB 5.5 RedHat repository list - created 2013-08-11 14:31 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
CentOS 6 32位
# MariaDB 5.5 CentOS repository list - created 2013-08-11 14:21 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
CentOS 6 64位
# MariaDB 5.5 CentOS repository list - created 2013-08-11 14:22 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
CentOS 5 32位
# MariaDB 5.5 CentOS repository list - created 2013-08-11 14:23 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
CentOS 5 64位
# MariaDB 5.5 CentOS repository list - created 2013-08-11 14:23 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
Fedora 20 32位
# MariaDB 5.5 Fedora repository list - created 2014-03-19 06:34 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
Fedora 20 64位
# MariaDB 5.5 Fedora repository list - created 2014-03-19 06:35 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
Fedora 19 32位
# MariaDB 5.5 Fedora repository list - created 2014-03-19 06:31 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
Fedora 19 64位
# MariaDB 5.5 Fedora repository list - created 2014-03-19 06:34 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
Fedora 18 32位
# MariaDB 5.5 Fedora repository list - created 2013-08-11 14:32 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
Fedora 18 64位
# MariaDB 5.5 Fedora repository list - created 2013-08-11 14:33 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
Fedora 17 32位
# MariaDB 5.5 Fedora repository list - created 2013-08-11 14:33 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
Fedora 17 64位
# MariaDB 5.5 Fedora repository list - created 2013-08-11 14:33 UTC
#
[mariadb]
name = MariaDB
baseurl =
gpgkey=
gpgcheck=1
注意:把MariaDB.repo配置文件放入/etc/yum.repos.d/目录下。然后可以开始执行YUM命令了。
在RedHat 5和6以及Fedora 17、18、19版本
# yum -y install MariaDB MariaDB-server
在 Fedora 20
# yum -y install mariadb mariadb-server
说明:如果MariaDB的GPG签名密钥没有安装,YUM工具会在下载完所有包后自动安装它。
OpenSUSE 13安装MariaDB更特别,执行如下命令:
# zypper install mariadb
在安装完成后,执行下面的命令来启动MariaDB。
在RedHat 5、6和CentOS 5、6以及Fedora 19、18、17版本
# /etc/init.d/mysql start
在Fedora 20或OpenSUSE 13版
# systemctl start mariadb.service
# systemctl enable mariadb.service
在终端Shell下输入mysql命令,默认情况下root用户的密码为空。
# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 1
Server version: 5.5.39-MariaDB MariaDB Server
Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
View Existing Databases
Run the following command to view default databases that comes with installation.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
输入quit命令退出MariaDB的Shell环境。
MariaDB [(none)]> quit
Bye
在用root用户登录MariaDB后,最应该做的一件事是使用如下命令:
MariaDB [(none)]> set password=password(‘新密码’);
为root用户设置密码。
在RedHat 5、6和CentOS 5、6以及Fedora 19、18、17
# /etc/init.d/mysql restart
在Fedora 20
# systemctl restart mariadb.service
# chkconfig mysql on
1、在Debian 7 Wheezy和Debian 6 Squeeze安装MariaDB
$ sudo apt-get install python-software-properties
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
把下面的内容写入/etc/apt/sources.list配置文件
在Debian 7 Wheezy
# MariaDB 5.5 repository list - created 2013-08-11 15:03 UTC
#
deb wheezy main
deb-src wheezy main
在Debian 6 Squeeze
# MariaDB 5.5 repository list - created 2013-08-11 15:17 UTC
#
deb squeeze main
deb-src squeeze main
在Ubuntu 13.10 Saucy
# MariaDB 5.5 repository list - created 2014-03-19 06:47 UTC
#
deb saucy main
deb-src saucy main
在Ubuntu 12.04 Quantal
# MariaDB 5.5 repository list - created 2013-08-11 15:24 UTC
#
deb quantal main
deb-src quantal main
在Ubuntu 12.04 Precise
# MariaDB 5.5 repository list - created 2013-08-11 15:24 UTC
#
deb precise main
deb-src precise main
再开始安装
$ sudo apt-get update
$ sudo apt-get install mariadb-server
上面提到的技术都不难,难的是一一实验各种Linux系统,我用VMware虚拟了各种Linux系统,一一实验验证。从源码安装MariaDB常常会遇到很多坑,连官方都不建议从源码安装。所以针对不同的Linux系统,选择以上最适合的安装方式,MariaDB的安装就变成了一个非常轻松的工作。
七、总结