千家信息网

mysql5.5、5.6自动化安装脚本怎么写

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,mysql5.5、5.6自动化安装脚本怎么写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。使用环境:①CentOS6 &
千家信息网最后更新 2025年01月23日mysql5.5、5.6自动化安装脚本怎么写

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

使用环境:①CentOS6 & Cent OS7

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

脚本:

#!/bin/bash#Date 2018/9/10[ $(id -u) != "0" ] && echo "Error: You must be root to run this script" && exit 1#id -u 检测当前用户id 0为root用户export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binwhich mysqldif [ $? -eq 0 ];then#$? 上条命令退出状态,附1 yum remove `yum list installed | grep mysql` -yexit 1fiif [ ! -d /opt ];then#[ -d file ]检查是否为目录,附2mkdir /opt && cd /optelsecd /optfiecho "# 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:" NUMcase $NUM in1)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.gzTDIR=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.gzTDIR=mysql-5.6.22;;3)echo "exit install!!!"exit 1;;*)echo "Input Error! Pease input{1|2|3|4}"exit 0;;esacif [ $? -eq 0 ];thentar zxf $TDIR.tar.gzelseecho -e "\033[32m Download error! Please check your network !!!\033[0m"exit 1fimysqlu=`awk -F: '$0~/mysql/' /etc/passwd |wc -l`#'$0~/mysql/' $0表示匹配所有域,以:分割,第一个域就是$1; /部分是分割; mysql部分是模式;附3mysqlg=`awk -F: '$0~/mysql/' /etc/group |wc -l`if [ $mysqlu -ne 0 ]&&[ $mysqlg -ne 0 ];thenecho -e "\033[32m mysql is exists! \033[0m"else/usr/sbin/useradd -s /sbin/nologin mysqlfi[ ! -d /usr/local/mysql ] && mkdir -p /usr/local/mysqlyum install -y gcc gcc-c++ make cmake ncurses-devel bison libaio-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 && make installif [ $? -eq 0 ];thenchown -R mysql.mysql /usr/local/mysqlecho "export PATH=$PATH:/usr/local/mysql/bin/ " >> /etc/profilesource /etc/profilecp support-files/my-*.cnf /etc/my.cnfcp support-files/mysql.server /etc/init.d/mysqldchmod 755 /etc/init.d/mysqldchkconfig --add /etc/init.d/mysqldchkconfig mysqld --level 35 onfi/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/mysqld startStart=`echo $?`Netstat=`netstat -ntap | grep mysql |wc -l`if [ $Start -eq 0 ]&&[ $Netstat -eq 1 ];thenecho -e "\033[32m $TDIR is install success! \033[0m"elseecho -e "\033[32m $TDIR is install fail! \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脚本文件 输入文件

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

0