#!/bin/bash
#定义变量
db_conf=/etc/my.cnf
se_conf=/etc/sysconfig/selinux
#创建mysql用户
useradd mysql -s /sbin/nologin -M
#创建数据库所需目录
mkdir /data/mysql/mysql3306/{data,binlog,logs,tmp} -p
#设置属组和属主
chown -R mysql:mysql /data/mysql/mysql3306
#安装依赖
yum install libaio.x86_64 libaio-devel.x86_64 novacom-server.x86_64 libedit ncurses-compat-libs -y
#解压包到指定目录
tar -zxvf mariadb-10.5.10-linux-systemd-x86_64.tar.gz -C /usr/local/
#创建软连接
cd /usr/local/ && ln -s mariadb-10.5.10-linux-systemd-x86_64/ mysql
#创建隐藏配置文件
cd /usr/local/mysql && touch .my.cnf
#初始化安装
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql3306/data --defaults-file=./.my.cnf
#修改配置文件
sed -i "s#datadir=.*#datadir=/data/mysql/mysql3306/data#g" ${db_conf}
sed -i "s#socket=.*#socket=/tmp/mysql.sock#g" ${db_conf}
#创建mariadb服务
cp support-files/systemd/mariadb.service /usr/lib/systemd/system/mariadb.service && systemctl start mariadb
#创建mysql命令软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin/
#安装成功后服务状态显示正常
systemctl status mariadb
#关闭selinux
setenforce 0
sed -i "s#SELINUX=.*#SELINUX=disabled#g" ${se_conf}
#开放防火墙端口
firewall-cmd --zone=public --permanent --add-port=3306/tcp && firewall-cmd --reload
#root用户开放远程连接
mysql -uroot <<EOF
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
EOF
#重启mariadb服务
systemctl restart mariadb.service
一键部署Mariadb脚本
于 2022-08-16 14:40:59 首次发布