在centos 7.3交互式界面,用二进制方法安装mariadb10.2.8
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