这里以MariaDB为例
安装脚本
#!/bin/sh
DIR=`pwd`
CONF=/etc/my.cnf
CONF_BAK=/etc/my.cnf.bak
echo ${DIR}
echo "-----------------------------------install mariadb-------------------------------"
if [ -h /usr/local/mysql ];then
echo "mariadb has installed"
# 替换配置文件
## 备份原来的文件
mv -f $CONF $CONF_BAK
## 拷贝新文件
cp -f ${DIR}/mariadb/my.cnf $CONF
# 重启数据库
service mysqld restart
exit 3
else
num=`rpm -qa | grep mariadb-libs | wc -l`
if [ $num -eq 0 ]; then
echo "system mariadb-libs no exist"
else
echo "remove system mariadb-libs"
rpm -ev --nodeps mariadb-libs-5.5.68-1.el7.x86_64
rm -rf /usr/lib64/mysql
fi
cp ${DIR}/mariadb/my.cnf /etc/my.cnf
tar -xvf mariadb-10.3.31-linux-x86_64.tar.gz -C /usr/local&&cd /usr/local
ln -s mariadb-10.3.31-linux-x86_64/ mysql
if [ $(grep "mysql" /etc/passwd | wc -l) -eq 0 ]; then
echo "adding user mysql"
groupadd mysql
useradd -g mysql mysql
else
echo "user mysql exsits"
fi
chown -R mysql:mysql /usr/local/mysql/* -R
mkdir /home/data
mkdir /home/data/mariadb
mkdir -p /var/log/mariadb
chown -R mysql:mysql /home/data/mariadb
cd /usr/local/mysql&&./scripts/mysql_install_db --user=mysql --datadir=/home/data/mariadb --basedir=/usr/local/mysql
#cp ./support-files/mysql.server /etc/init.d/mysqld
cp ${DIR}/mariadb/mysqld /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld
sed -r -i '/^\[mysqld\]/adatadir=/home/data/mariadb' /etc/my.cnf
echo 'export PATH=/usr/local/mariadb/bin:$PATH' > /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
cd /usr/local/mysql/bin&&./mysqladmin -u root password 'zhkjmysql@002396'
echo "export MYSQL_HOME=/usr/local/mysql" >> /etc/profile
echo 'export PATH=$MYSQL_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
fi
卸载脚本
#!/bin/sh
service mysqld stop
rm -rf /usr/local/mysql
rm -rf /etc/my.cnf
rm -rf /etc/my.cnf.bak
rm -rf /usr/local/mariadb-10.3.31-linux-x86_64
rm -rf /home/data/mariadb
rm -rf /var/log/mariadb
rm -rf /etc/init.d/mysqld
rm -rf /etc/profile.d/mysql.sh