mysql5.5、5.6自动化安装脚本怎么写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

使用环境:①CentOS6 & Cent OS7

②联网环境下下载mysql软件包

脚本:

#!/bin/bash#Date2018/9/10[$(id-u)!="0"]&&echo"Error:Youmustberoottorunthisscript"&&exit1#id–u检测当前用户id0为root用户exportPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binwhichmysqldif[$?-eq0];then#$?上条命令退出状态,附1yumremove`yumlistinstalled|grepmysql`-yexit1fiif[!-d/opt];then#[–dfile]检查是否为目录,附2mkdir/opt&&cd/optelsecd/optfiecho"#Atuo编译安装mysql5.5/5.6#"echo"1Installmysql-5.5"echo"2Installmysql-5.6"echo"3EXIT"read-p"Pleaseinputyourchoice:"NUMcase$NUMin1)echo-e"\033[32mStartInstallmysql-5.5Now\033[0m"wgethttp://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.24.tar.gzTDIR=mysql-5.5.24;;2)echo-e"\033[32mStartInstallmysql-5.6Now\033[0m"wgethttp://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.22.tar.gzTDIR=mysql-5.6.22;;3)echo"exitinstall!!!"exit1;;*)echo"InputError!Peaseinput{1|2|3|4}"exit0;;esacif[$?-eq0];thentarzxf$TDIR.tar.gzelseecho-e"\033[32mDownloaderror!Pleasecheckyournetwork!!!\033[0m"exit1fimysqlu=`awk-F:'$0~/mysql/'/etc/passwd|wc-l`#’$0~/mysql/’$0表示匹配所有域,以:分割,第一个域就是$1;/部分是分割;mysql部分是模式;附3mysqlg=`awk-F:'$0~/mysql/'/etc/group|wc-l`if[$mysqlu-ne0]&&[$mysqlg-ne0];thenecho-e"\033[32mmysqlisexists!\033[0m"else/usr/sbin/useradd-s/sbin/nologinmysqlfi[!-d/usr/local/mysql]&&mkdir-p/usr/local/mysqlyuminstall-ygccgcc-c++makecmakencurses-develbisonlibaio-develcd/opt/$TDIRcmake-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=3306make&&makeinstallif[$?-eq0];thenchown-Rmysql.mysql/usr/local/mysqlecho"exportPATH=$PATH:/usr/local/mysql/bin/">>/etc/profilesource/etc/profilecpsupport-files/my-*.cnf/etc/my.cnfcpsupport-files/mysql.server/etc/init.d/mysqldchmod755/etc/init.d/mysqldchkconfig--add/etc/init.d/mysqldchkconfigmysqld--level35onfi/usr/local/mysql/scripts/mysql_install_db\--user=mysql\--ldata=/var/lib/mysql\--basedir=/usr/local/mysql\--datadir=/home/mysqlln-s/var/lib/mysql/mysql.sock/home/mysql/mysql.socksed-i's#^basedir=.*$#basedir=/usr/local/mysql#'/etc/init.d/mysqld#–i表示插入;s表示替换;#号表示分割符;附4sed-i's#^datadir=.*$#datadir=/home/mysql#'/etc/init.d/mysqld/etc/init.d/mysqldstartStart=`echo$?`Netstat=`netstat-ntap|grepmysql|wc-l`if[$Start-eq0]&&[$Netstat-eq1];thenecho-e"\033[32m$TDIRisinstallsuccess!\033[0m"elseecho-e"\033[32m$TDIRisinstallfail!\033[0m"fi


附一:退出状态值及其含义

状态值 含义

0 程序运行成功,未遇到问题

1—125 运行失败,脚本命令、系统命令或参数传递错误

126 找到该命令但无法执行

127 未找到要运行的命令

>128 命令被系统强行结束

附二:文件操作符

文件运算符 文件描述-d file是否为目录-e file是否存在-f file是否为普通文件-r file是否可读-w file是否可写-x file是否可执行-s file长度是否为0-L file是否符号化链接

附三、awk

awk调用用法

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

②awk程序插入脚本文件 awk –f awk脚本文件 输入文件

③执行脚本 ./awk脚本文件 输入文件

附四、sed

sed调用用法

①shell命令:sed [ 选项 ] ’sed命令‘ 输入文件

②sed程序插入脚本文件 sed [ 选项 ] –f sed脚本文件 输入文件

③执行脚本 ./sed脚本文件 输入文件

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。