693579551 发表于 2018-10-4 07:57:18

MySQL学习笔记(一):shell脚本安装配置mysql-aimax

#!/bin/bash  
cnf_file="/etc/my.cnf"
  
install_log="mysql_install.log"
  
dbfile="mysql-5.7.22-el7-x86_64.tar.gz"
  
ext_files="mysql-5.7.22-el7-x86_64"
  
bin_path="/usr/local/mysql"
  
pid_path="/data/mysql"
  
data_path="/data/mysql/data"
  
errlog_path="/data/mysql/logs/"
  
binlog_path="/data/mysql/binlog/"
  
slowlog_path="/data/mysql/slow_logs"
  
socket="/data/mysql/mysql3306.sock"
  
port=3306
  
serverid=330601
  
group="mysql"
  
user="mysql"
  
if [ ! -f "$dbfile" ];then
  
echo "$dbfile not exists"> $install_log
  
else
  
tar -zxvf $dbfile > $install_log
  
if [ $? -eq 0 ];then
  
echo "$dbfile Extract Success" >> $install_log
  
else
  
echo "$dbfile Extract Failed">> $install_log
  
exit 0
  
fi
  
fi
  
if [ ! -d "$bin_path" ];then
  
echo "moving $ext_files to $bin_path ......">> $install_log
  
mv $ext_files $bin_path
  
echo "move $ext_files to $bin_path ......" >> $install_log
  
echo "creating $pid_path ......" >> $install_log
  
if [ ! -d "$pid_path" ];then
  
mkdir -p $pid_path
  
echo "create $pid_path ......" >> $install_log
  
else
  
echo "create $pid_path ......" >> $install_log
  
exit 0
  
fi
  
echo "creating $data_path ......" >> $install_log
  
if [ ! -d "$data_path" ];then
  
mkdir -p $data_path
  
echo "create $data_path ......" >> $install_log
  
else
  
echo "create $data_path ......" >> $install_log
  
exit 0
  
fi
  
echo "creating $errlog_path ......" >> $install_log
  
if [ ! -d "$errlog_path" ];then
  
mkdir -p $errlog_path
  
echo "create $errlog_path ......" >> $install_log
  
else
  
echo "create $errlog_path ......" >> $install_log
  
exit 0
  
fi
  
echo "creating $binlog_path ......" >> $install_log
  
if [ ! -d "$binlog_path" ];then
  
mkdir -p $binlog_path
  
echo "create $binlog_path ......" >> $install_log
  
else
  
echo "create $binlog_path ......" >> $install_log
  
exit 0
  
fi
  
echo "creating $slowlog_path ......" >> $install_log
  
if [ ! -d "$slowlog_path" ];then
  
mkdir -p $slowlog_path
  
echo "create $slowlog_path ......" >> $install_log
  
else
  
echo "create $slowlog_path ......" >> $install_log
  
exit 0
  
fi
  
else
  
echo "$bin_path already exists" >> $install_log
  
exit 0
  
fi
  
#create group if not exists
  
egrep "^$group" /etc/group >& /dev/null
  
if [ $? -ne 0 ]
  
then
  
    echo "group $group not exists" >> $install_log
  
echo "creating group $group ......" >> $install_log
  
groupadd $group
  
echo "creat group $group ......" >> $install_log
  
else
  
echo "group $group already exists ......" >> $install_log
  
fi
  
#create user if not exists
  
egrep "^$user" /etc/passwd >& /dev/null
  
if [ $? -ne 0 ]
  
then
  
    echo "user $user not exists" >> $install_log
  
echo "creating user $user ......" >> $install_log
  
useradd -g $group $user
  
echo "creat user $user ......" >> $install_log
  
else
  
echo "user $user already exists ......" >> $install_log
  
fi
  
#Modify directory permissions
  
chown -R $user.$group $bin_path
  
chown -R $user.$group $pid_path
  
#Add environment variables
  
result_grep_path="$( grep   "${bin_path}/bin" /etc/profile)" || result_grep_path=""
  
if [ -z "${result_grep_path}" ]
  
then
  
echo "export PATH=\$PATH:${bin_path}/bin:${bin_path}/lib" >> /etc/profile ;
  
source /etc/profile
  
else
  
echo "${bin_path}/bin already exists in /etc/profile" >> $install_log
  
fi
  
#mysql cnf
  
if [ -f $cnf_file ];then
  
echo "$cnf_file exists"
  
echo "move $cnf_file to $cnf_file`date '+%Y%m%d%H%M%S'` ">> $install_log
  
mv $cnf_file $cnf_file`date "+%Y%m%d%H%M%S"`
  
fi
  
cat > /etc/my.cnf > $install_log
  
else
  
echo "mysql initialize failed ">> $install_log
  
exit 0
  
fi
  
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
  
chmod +x /etc/rc.d/init.d/mysql.server
  
chkconfig --add mysql.server
  
chkconfig --list mysql.server >> $install_log
  
sudo -u mysql service mysql.server start
  
if [ $? -eq 0 ];
  
then
  
echo "mysql install && start success ">> $install_log
  
else
  
echo "mysql install or start failed">> $install_log
  
fi
  
exit 0


页: [1]
查看完整版本: MySQL学习笔记(一):shell脚本安装配置mysql-aimax