当前位置: 移动技术网 > IT编程>数据库>DB2 > 在centos 7.3交互式界面,用二进制方法安装mariadb10.2.8

在centos 7.3交互式界面,用二进制方法安装mariadb10.2.8

2018年09月29日  | 移动技术网IT编程  | 我要评论

mariadb简单介绍

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 详情请自行百度

实验:在centos 7.3交互式界面,用二进制方法安装mariadb10.2.8

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

实验:在centos 6.9交互式界面,用二进制方法安装mariadb 5.5.57

[ -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

实验:用脚本实现自动判断os版本,并安装mariadb

要求: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:https://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 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网