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/bin which mysqld if [ $? -eq 0 ];then #$? 上条命令退出状态,附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表示匹配所有域,以:分割,第一个域就是$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表示替换;#号表示分割符;附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
附一:退出状态值及其含义
状态值 含义
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脚本文件 输入文件
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
网页标题:mysql5.5、5.6自动化安装脚本怎么写
文章起源:http://pwwzsj.com/article/jpeojg.html