MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
来自 https://baike.baidu.com/item/mariaDB/6466119?fr=aladdin 详情请自行百度
1 查看本机是否安装过mariadb,如果已经安装过,先停止此服务
rpm -qa mariadb*
2 准备用户
getent passwd mysql 查看mysql用户是否已经创建
useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql 如果未创建,按此命令创建
3 准备数据目录
以/app/mysqldb为例,建议使用逻辑卷
chown mysql:mysql /app/mysqldb
4 准备二进制程序
tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/ 必须解压到/usr/local/目录
cd /usr/local/
ln -s mariadb-10.2.8-linux-x86_64/ mysql 创建软链接
5 准备配置文件
cd /usr/local/mysql/
mkdir /etc/mysql/
cp support-files/my-huge.cnf /etc/mysql/my.cnf
vim /etc/mysql/my.cnf
[mysqld] datadir = /app/mysqldb 这一行必须添加 innodb_file_per_table = on 数据库引擎,每个表单独一个文件,不是必须要添加的,只是为了方便管理 skip_name_resolve = on 忽略名字解析,加快访问速度,这一行不是必须要添加的
6 创建数据库文件
cd /usr/local/mysql/
scripts/mysql_install_db –user=mysql –datadir=/app/mysqldb 不要进入scripts目录运行脚本,会报错,必须在/usr/local/mysql目录下运行
7 创建日志目录,并使mysql用户为日志目录的属主,拥有对其的写权限
mkdir /var/log/mariadb/
chown mysql /var/log/mariadb/
8 将/usr/local/mysql/bin添加进环境路径
vi /etc/profile.d/mysql.sh
PATH=/usr/local/mysql/bin:$PATH
. /etc/profile.d/mysql.sh
9 准备服务启动脚本并启动服务
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig –add mysqld
chkconfig –list mysqld
service mysqld start 启动服务
10 安全初始化
mysql_secure_installation
11 登录数据库,测试是否安装成功
mysql -uroot -p
[ -d /app ] || mkdir /app
useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql
tar xf /root/mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/mariadb-5.5.57-linux-x86_64 /usr/local/mysql
cd /usr/local/mysql/
mkdir /etc/mysql/
cp support-files/my-huge.cnf /etc/mysql/my.cnf
vim /etc/mysql/my.cnf
[mysqld]
datadir = /app/mysqldb
innodb_file_per_table = on
skip_name_resolve = on
scripts/mysql_install_db –user=mysql –datadir=/app/mysqldb &> /dev/null
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig –add mysqld
touch /var/log/mysqld.log
chown mysql /var/log/mysqld.log
echo ‘PATH=/usr/local/mysql/bin:$PATH’ > /etc/profile.d/mysql.sh
service mysqld start
要求:centOS6版本安装mariadb 5.5.57,centOS版本安装mariadb10.2.8
#!/bin/bash # ------------------------------------------------- # Filename:mysqld-binary-install.sh # Revision:1.0 # Date: 2017-10-20 # Author:Ruoshuiss # Website:http://blog.csdn.net/ruoshuiss/ # Description: Binary installation of the mariadb script # ------------------------------------------------- ver=`sed -r 's/.* ([0-9]+)\..*/\1/' /etc/centos-release` #判断OS版本 [ -d /app ] || mkdir /app getent passwd mysql &> /dev/null|| { userdel -r mysql &> /dev/null;useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql; } if [ $ver -eq 6 ];then #如果是centOS6版本,执行下面的操作 tar xf /root/mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/ ln -s /usr/local/mariadb-5.5.57-linux-x86_64 /usr/local/mysql touch /var/log/mysqld.log chown mysql /var/log/mysqld.log elif [ $ver -eq 7 ];then #如果是centOS7版本,执行下面的操作 tar xf /root/mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/ ln -s /usr/local/mariadb-10.2.8-linux-x86_64/ /usr/local/mysql mkdir /var/log/mariadb/ chown mysql /var/log/mariadb/ else #既不是centOS6也不是centOS7版本就退出脚本 echo "this OS over range!" exit fi cd /usr/local/mysql/ mkdir /etc/mysql/ cp support-files/my-huge.cnf /etc/mysql/my.cnf sed -i 's#^\[mysqld\]#&\ndatadir = /app/mysqldb\ninnodb_file_per_table = on\nskip_name_resolve = on#g' /etc/mysql/my.cnf #利用sed修改配置文件 scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb &> /dev/null cp support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh service mysqld start