溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql5.5、5.6自動(dòng)化安裝腳本怎么寫

發(fā)布時(shí)間:2021-09-28 11:44:49 來(lái)源:億速云 閱讀:110 作者:柒染 欄目:MySQL數(shù)據(jù)庫(kù)

mysql5.5、5.6自動(dòng)化安裝腳本怎么寫,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

使用環(huán)境:①CentOS6 & Cent OS7

                 ②聯(lián)網(wǎng)環(huán)境下下載mysql軟件包

腳本:

#!/bin/bash
#Date 2018/9/10

[ $(id -u) != "0" ] && echo "Error: You must be root to run this script" && exit 1
#id –u 檢測(cè)當(dāng)前用戶id 0為root用戶
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
which mysqld
if [ $? -eq 0 ];then
#$? 上條命令退出狀態(tài),附1 
yum remove `yum list installed | grep mysql` -y
exit 1
fi
if [ ! -d /opt ];then
#[ –d file ]檢查是否為目錄,附2
mkdir /opt && cd /opt
else
cd /opt
fi
echo "# Atuo 編譯安裝mysql5.5/5.6 #"
echo "1 Install mysql-5.5"
echo "2 Install mysql-5.6"
echo "3 EXIT"
read -p "Please input your choice:" NUM
case $NUM in
1)
echo -e "\033[32m Start Install mysql-5.5 Now \033[0m"
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.24.tar.gz
TDIR=mysql-5.5.24
;;
2)
echo -e "\033[32m Start Install mysql-5.6 Now \033[0m"
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.22.tar.gz
TDIR=mysql-5.6.22
;;
3)
echo "exit install!!!"
exit 1
;;
*)
echo "Input Error! Pease input{1|2|3|4}"
exit 0
;;
esac
if [ $? -eq 0 ];then
tar zxf $TDIR.tar.gz
else
echo -e "\033[32m Download error! Please check your network !!!\033[0m"
exit 1
fi
mysqlu=`awk -F: '$0~/mysql/' /etc/passwd |wc -l`
#’$0~/mysql/’ $0表示匹配所有域,以:分割,第一個(gè)域就是$1; /部分是分割; mysql部分是模式;附3
mysqlg=`awk -F: '$0~/mysql/' /etc/group |wc -l`
if [ $mysqlu -ne 0 ]&&[ $mysqlg -ne 0 ];then
echo -e "\033[32m mysql is exists! \033[0m"
else
/usr/sbin/useradd -s /sbin/nologin mysql
fi
[ ! -d /usr/local/mysql ] && mkdir -p /usr/local/mysql
yum install -y gcc gcc-c++ make cmake ncurses-devel bison libaio-devel
cd /opt/$TDIR
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/home/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
make && make install
if [ $? -eq 0 ];then
chown -R mysql.mysql /usr/local/mysql
echo "export PATH=$PATH:/usr/local/mysql/bin/ " >> /etc/profile
source /etc/profile
cp support-files/my-*.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig mysqld --level 35 on
fi
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock
sed -i 's#^basedir=.*$#basedir=/usr/local/mysql#' /etc/init.d/mysqld
# –i表示插入;s表示替換;#號(hào)表示分割符;附4
sed -i 's#^datadir=.*$#datadir=/home/mysql#' /etc/init.d/mysqld
/etc/init.d/mysqld start
Start=`echo $?`
Netstat=`netstat -ntap | grep mysql |wc -l`
if [ $Start -eq 0 ]&&[ $Netstat -eq 1 ];then
echo -e "\033[32m $TDIR is install success! \033[0m"
else
echo -e "\033[32m $TDIR is install fail! \033[0m"
fi


附一:退出狀態(tài)值及其含義

  狀態(tài)值                                                  含義                                                              

     0                               程序運(yùn)行成功,未遇到問(wèn)題

1—125                          運(yùn)行失敗,腳本命令、系統(tǒng)命令或參數(shù)傳遞錯(cuò)誤      

126                               找到該命令但無(wú)法執(zhí)行      

127                               未找到要運(yùn)行的命令      

>128                            命令被系統(tǒng)強(qiáng)行結(jié)束

附二:文件操作符

文件運(yùn)算符                    文件描述
-d file是否為目錄
-e file是否存在
-f  file是否為普通文件
-r file是否可讀
-w file是否可寫
-x file是否可執(zhí)行
-s file長(zhǎng)度是否為0
-L file是否符號(hào)化鏈接

附三、awk

awk調(diào)用用法

①shell命令:awk [ –F 域分隔符] ’awk程序段‘ 輸入文件

②awk程序插入腳本文件 awk –f awk腳本文件 輸入文件

③執(zhí)行腳本  ./awk腳本文件 輸入文件

附四、sed

sed調(diào)用用法

①shell命令:sed [ 選項(xiàng) ] ’sed命令‘ 輸入文件

②sed程序插入腳本文件 sed [ 選項(xiàng) ] –f sed腳本文件 輸入文件

③執(zhí)行腳本  ./sed腳本文件 輸入文件

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI