您好,登錄后才能下訂單哦!
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ì)億速云的支持。
免責(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)容。