一、MariaDB简介

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。

二、MariaDB和MySQL的兼容

此处简要列举了MariaDB和MySQL的版本兼容性,详情请参考官网地址

Slave↓ Master→MariaDB-5.5MariaDB-10.0MariaDB-10.1MariaDB-10.2MySQL-5.6MySQL-5.7MySQL-8.0
MariaDB-5.5OkNoNoNoNoNoNo
MariaDB-10.0OkOkOK
MariaDB-10.1OkOkOkOK
MariaDB-10.2OkOkOkOkOkOk
MySQL-5.6XXX
MySQL-5.7XXX
MySQL-8.0XXX

三、Windows下安装(Win7)

1. 获取安装包

下载地址
这里选择版本10.2.11(64位)ZIP压缩包安装,用户可根据自身需求进行调整。
注意:在安装之前,先检测系统之前是否安装过mysql,如有请关闭mysql安装mariadb。

2. 解压

安装包下载完成后,解压到D: \MariaDB\mariadb-10.2.11-winx64目录,使用管理员身份运行命令行窗口,切换目录到安装包的bin目录下:
cd D:\MariaDB\mariadb-10.2.11-winx64\bin

3. 配置

在mariadb安装目录下的有好几种配置模板,分别用于不同的环境,这里简要说明一下:

配置文件说明
my-small.ini这个是为小型数据库或者个人测试使用的,不能用于生产环境
my-medium.ini这个适用于中等规模的数据库,比如个人项目或者小型企业项目中
my-large.ini一般用于专门提供SQL服务的服务器中,即专门运行数据库服务的主机,配置要求要更高一些,适用于生产环境
my-huge.ini用于企业级服务器中的数据库服务,一般更多用于生产环境使用

所以根据以上几个文件,如果个人使用或者测试,那么可以使用前两个模板;企业服务器或者64G以上的高配置服务器可以使用后面两个模板,另外也可以根据自己的需求来加大参数和扩充配置获得更好的性能。
选择合适的配置文件,重命名为my.ini并编辑:
在文件的 [mysqld] 节点下添加内容:datadir = D:/ MariaDB/mariadb-10.2.11-winx64
配置完成,保存并退出。

4. 安装

用mysql_install_db.exe 来创建数据库实例:
从MariaDB 5.2.6版以后,不论基于任何原因,用mysql_install_db.exe 来创建数据库实例将更安全(默认禁用匿名用户、可在设置过程设置root用户密码)、方便(可以创建Windows服务、指定数据库存放目录)的!
参数:

ParameterDescription
-?, --helpDisplay help message and exit
-d, --datadir=nameData directory of the new database
-S, --service=nameName of the Windows service
-p, --password=namePassword of the root user
-P, --port=#mysqld port
-W, --socket=namenamed pipe name
-D, --default-userCreate default user
-R, --allow-remote-root-accessAllow remote access from network for user root
-N, --skip-networking Do not useTCP connections, use pipe instead
-i, --innodb-page-sizeInnodb page size, since MariaDB 10.2.5

安装命令:
mysql_install_db.exe --datadir=D: \MariaDB\ mariadb-10.2.11-winx64\data --service=mariaDB --password=123456
注意:要创建Windows服务,mysql_install_db.exe应由具有完全管理员权限的用户运行

5. 启动

启动服务命令:
sc start mariaDB
注意:mariaDB为步骤3安装过程中创建的服务名称。

在启动mariaDB服务之前,已经关闭了MySQL服务,这里未做安装 MariaDB 并同时运行 MySQL,如有需要,请参考官网地址

四、Linux下安装(CentOS-7.0)

1. 获取安装包

下载地址
这里选择版本10.1.19(64位)安装,用户可根据自身需求进行调整。

这里下载包含glibc和不包含glibc的都是可以的,如果下载包含glibc的,那么系统的glibc版本要满足要求,这里要大于2.14,一般系统是可以满足的,下载之后上传到服务器准备安装。
注意:在安装之前,先检测系统之前是否安装过mysql,如有请关闭mysql安装mariadb。

2. 执行安装包,将安装包安装到 /usr/local/mariadb目录下

#tar –zxvf mariadb-10.1.29-linux-x86_64.tar.gz
#mv –zxvf mariadb-10.1.29-linux-x86_64  /usr/local/mariadb/
#cd /usr/local/mariadb

#设置软链接

ln -s /usr/local/mariadb/bin/mysql   /usr/bin   

3. 创建用户组和用户

#groupadd mysql
#useradd –r –g mysql –s /sbin/nologin mysql
#chown –R mysql /usr/local/mariadb
#chgrp –R mysql /usr/local/mariadb

注意:使用“mysql”用户(组)来安装MariaDB(以保持与MySQL的兼容性)

4. 相关配置

mariadb和mysql都使用my.cnf配置文件,默认在’/etc/my.cnf’位置寻找配置文件(有些系统中是’/etc/mysql/my.cnf’或’~/.my.cnf’),如果系统之前安装过mysql,请备份mysql的配置文件。

#cp /etc/my.cnf /etc/my.cnf.bak

在mariadb安装目录下的support-files有好几种配置模板,已经配置好的部分参数,分别用于不同的环境,这里简要说明一下:

配置文件说明
my-small.cnf这个是为小型数据库或者个人测试使用的,不能用于生产环境
my-medium.cnf这个适用于中等规模的数据库,比如个人项目或者小型企业项目中
my-large.cnf一般用于专门提供SQL服务的服务器中,即专门运行数据库服务的主机,配置要求要更高一些,适用于生产环境
my-huge.cnf用于企业级服务器中的数据库服务,一般更多用于生产环境使用

所以根据以上几个文件,如果个人使用或者测试,那么可以使用前两个模板;企业服务器或者64G以上的高配置服务器可以使用后面两个模板,另外也可以根据自己的需求来加大参数和扩充配置获得更好的性能
这里暂时使用my-medium.cnf,

复制配置文件:

#cp support-files/my-medium.cnf  /etc/my.cnf  

编辑/etc/my.cnf配置文件

#vim /etc/my.cnf

在文件的 [mysqld] 节点下添加内容:

		basedir = /usr/local/mariadb
		datadir = /usr/local/mariadb/data

配置完成,保存并退出
注意:basedir为mariadb的安装目录,datadir为mariadb的数据存放目录,用户也可指定其他的数据存放目录,并赋予mysql用户该目录的相应权限。

5. 初始化数据库

初始化命令,–datadir指定数据库安装路径,–user指定用户

#/usr/local/mariadb/scripts/mysql_install_db --defaults-file=/etc/my.cnf --datadir= /usr/local/mariadb/data --user=mysql  

注意:系统默认从/etc/my.cnf 目录加载配置文件,–defaults-file=/etc/my.cnf 参数可以不选;如需改变mariadb数据存放目录,选择datadir= /usr/local/mariadb/data参数,否则使用/etc/my.cnf配置文件中配置的datadir。(如果想把mariadb作为mysql的一个替代,请选择和mysql兼容的mariadb版本,把datadir设置为mysql的datadir)

6. 设置启动脚本

将脚本模板复制到启动脚本路径下

#cp -a support-files/mysql.server /etc/init.d/mysql  

7. 启动

【启动】

#/etc/init.d/mysql start
或者
#service mysql start

【添加mysqld到系统服务,随系统一起启动】

#chkconfig mysql on 

【查看mysql服务运行状态】

#systemctl status mysql.service

8. 设置数据库账户密码:

#mysql -u root -p
#update mysql.user set authentication_string=PASSWORD("wxchina") where user=”root”;
#flush privileges;
Logo

更多推荐