Linux-脚本安装和卸载MariaDB/mysql

这里以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

Guess you like

Origin blog.csdn.net/clearlxj/article/details/120783088