自动安装mysql脚本

准备:  1)二进制mysql数据库8.0安装软件

              2) my.cnf

             3) 如下脚本

#!/usr/bin/sh
Data_dir='/usr/local/mydb'
Mysql_dir='/usr/local/mysql'
Log_file='file.log'
CHK_DIR()
{
     if [ -d $1 ]
     then
         echo "[ $1 ]   Look owner of filedir:";
         ls -ld $1
  echo "[ $1 ]   Look at things in the direcotry:"
         ls -l $1
         rm -fr $1/*;chmod -R 775 $1;chown mysql.mysql $1;
  return 1
     else
         echo "[  $1 ]   Filedir is not exist."
         mkdir $1;chmod -R 775 $1; chown mysql.mysql $1;
         return 2
 
     fi
}
CHK_USER()
{
     id mysql > /dev/null 2>&1;
     if [ $? -eq 0 ]
     then
       echo "mysql account already exists"
     else
       useradd -m -s /sbin/nologin mysql
       echo "create a [mysql] account."
     fi
}
CHK_USER
CHK_DIR $Data_dir
NO=$(ls -l . |grep mysql.*tar.* |wc -l)
if [ $NO -eq 1 ]
then
    Name=$(ls -l . |grep mysql.*tar.* |awk '{print $NF}')
    mv -f $Name /usr/local/
    if [ $? -eq 0 ]
    then
       cd /usr/local/
       tar xf $Name
       cd -
    else
       echo "move file of compress is not success."
    fi
else
    echo "mysql software of installtion is not exist."
    exit 1
fi
Dirname=$(ls -l /usr/local/ |grep "^d.*mysql-.*[1-9]"|awk '{print $NF}')
chown -R mysql.mysql /usr/local/$Dirname
if [ -d /usr/local/mysql ]
then
    rm -fr /usr/local/mysql && ln -s /usr/local/$Dirname /usr/local/mysql && chown mysql.mysql /usr/local/mysql
else
    ln -s /usr/local/$Dirname /usr/local/mysql && chown mysql.mysql /usr/local/mysql
fi
echo "DATA DIRECTORY and HOME DIRECTORY is ready!!!"

### Pass my.cnf to The etc directory
ls ./my.cnf >/dev/null 2>&1
if [ $? -eq 0 ]
then
   cp -f ./my.cnf /etc/my.cnf
else
   echo "my.cnf file does not exist,Need to copy it manually"
   exit 2
fi
### initialized database
#echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mydb > $Log_file 2>&1
tail -20 $Log_file
posted @ 2021-10-26 11:34  learnnote  阅读(203)  评论(0)    收藏  举报