mysql5.x安装脚本
直接贴出来:
#!/bin/bash
#linux安装mysql服务分两种安装方法:
#①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错;
#②使用官方编译好的二进制文件安装,优点是安装速度快,安装步骤简单,缺点是安装包很大,300M左右
MYSQL_PACKET="/home/tools"
MYSQL_REPO="5.6"
MYSQL_VERSION="5.6.34"
MYSQL_BASEDIR="/usr/local/mysql"
MYSQL_DATADIR="/home/sqldata/mysql"
MYSQL_SOCKET="/tmp/mysql.sock"
YELLOW_COLOR='\E[1;33m'
RED_COLOR='\E[1;31m'
RES='\E[0m'
function yellow(){
[ $# -ne ] && exit
echo -e "${YELLOW_COLOR}$1${RES}"
}
function red(){
[ $# -ne ] && exit
echo -e "${RED_COLOR}$1${RES}"
}
function BAR(){
i=
str=""
arry=("\\" "|" "/" "-")
while [ $i -le ]
do
let index=i%
if [ $i -le ];then
let color=
let bg=
elif [ $i -le ];then
let color=
let bg=
elif [ $i -le ];then
let color=
let bg=
else
let color=
let bg=
fi
printf " \033[${color};${bg}m%-s\033[0m %d %c\r" "$str" "$i" "${arry[$index]}"
usleep
let i=i+
str+="#"
done
printf "\n"
}
#Check if user is root
function check_user(){
if [ $UID != ];then
echo -e "\033[31m Error: You must be root to run this script, please use root to install\033[0m"
exit
fi
clear
cat <<EOF
---------------------------------------------------------------------------------------------------
|***************A script to auto-compile & install `yellow mysql-${MYSQL_VERSION}` on Redhat/CentOS Linux***************|
--------------------------------------------------------------------------------------------------- EOF
}
function check_env(){
Distrib="${MYSQL_VERSION}"
status1="`mysql --version |awk -F '[ ,]' '{print $6}'`"
if [ "$status1" = "$Distrib" ];then
echo -e "\033[32m Warning: mysql-${MYSQL_VERSION} is already installed! \033[0m"
sleep ;
BAR
echo -e "\033[31m [退出] \033[0m"
exit
else
echo -e "\033[32m Warning: mysql-${MYSQL_VERSION} is not install \033[0m"
echo -e "\033[34m Install mysql-${MYSQL_VERSION},Please input y \033[0m"
read -p "(Please input `yellow y`|`red n`): " installmysql
case "$installmysql" in
y|Y|Yes|YES|yes|yES|yEs|YeS|yeS)
echo -e "\033[34m You will install mysql-${MYSQL_VERSION} \033[0m"
installmysql
;;
n|N)
echo -e "\033[31m [退出] \033[0m"
exit
;;
*)
echo -e "\033[31m INPUT error,You will exit install mysql-${MYSQL_VERSION} \033[0m"
exit
esac
fi
}
function installmysql(){
[ ! -d ${MYSQL_PACKET} ] && mkdir -p ${MYSQL_PACKET}
[ ! -d ${MYSQL_BASEDIR} ] && mkdir -p ${MYSQL_BASEDIR}
[ ! -d ${MYSQL_DATADIR} ] && mkdir -p ${MYSQL_DATADIR}
if [ ! -f ${MYSQL_PACKET}/mysql-${MYSQL_VERSION}.tar.gz ] ;then
echo -e "\033[31m There is without ${MYSQL_PACKET}/mysql-${MYSQL_VERSION}.tar.gz ! \033[0m"
sleep ;
echo -e "\033[32m mysql-${MYSQL_VERSION}.tar.gz is downloading...... \033[0m"
cd ${MYSQL_PACKET} &&\
[ -f mysql-${MYSQL_VERSION} ] || wget http://downloads.mysql.com/archives/mysql-${MYSQL_REPO}/mysql-${MYSQL_VERSION}.tar.gz
#wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22.tar.gz
#wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
sleep ;
echo -e "\033[32m Installing mysql-${MYSQL_VERSION},please waiting...... \033[0m"
start_install
else
echo -e "\033[32m Installing mysql-${MYSQL_VERSION},please waiting...... \033[0m"
start_install
fi
} function start_install(){
# 补充部分 Install base tools & packages & library
if [ ! -f epel-release--.noarch.rpm ] ;then
# wget -c http://epel.mirror.net.in/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release--.noarch.rpm
fi
for i in $(rpm -q glibc glibc-static glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel libaio readline-devel curl curl-devel libidn libidn-devel autoconf libjpeg libjpeg_devel libpng libpng_devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel gcc gcc-c++ lrzsz ntpdate nmap.x86_64 lsof.x86_64 sysstat.x86_64 glances kernel-devel openssl openssl-devel popt-devel popt-static libnl-devel libicu-devel libevent-devel tree nc make cmake jemalloc pcre pcre-devel pcre-static libzip.x86_64 libzip-devel.x86_64 libevent-devel libool libool-ltdl gd-devel bison vim-enhanced zip unzip patch expect|awk '/not install/ {print $2}')
do
yum -y install $i >/dev/null >&
done
id mysql >/dev/null
[ $? -eq ] && usermod -s /sbin/nologin mysql &>/dev/null || useradd -s /sbin/nologin -M mysql >/dev/null
cd ${MYSQL_PACKET} &&\
tar xf mysql-${MYSQL_VERSION}.tar.gz
cd mysql-${MYSQL_VERSION}
cmake . -DCMAKE_INSTALL_PREFIX=${MYSQL_BASEDIR} \
-DMYSQL_DATADIR=${MYSQL_DATADIR} \
-DMYSQL_UNIX_ADDR=${MYSQL_SOCKET} \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_FEDERATED_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE= \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE= \
-DWITH_EMBEDDED_SERVER= \
-DENABLE_DOWNLOADS= \
-DWITH_DEBUG=
sleep ;
make && make install
if [ $? -eq ];then
echo -e "\033[32m mysql-${MYSQL_VERSION} is making successful! \033[0m"
else
echo -e "\033[31m mysql-${MYSQL_VERSION} is making of failure! \033[0m"
exit
fi
#ln -s /usr/local/mysql-5.6./ /usr/local/mysql
\cp support-files/my*.cnf /etc/my.cnf
#初始化和配置数据库
${MYSQL_BASEDIR}/scripts/mysql_install_db --basedir=${MYSQL_BASEDIR} --datadir=${MYSQL_DATADIR} --user=mysql
chown -R mysql.mysql ${MYSQL_BASEDIR}/
\cp support-files/mysql.server /etc/init.d/mysqld
chmod /etc/init.d/mysqld
chkconfig mysqld on && /etc/init.d/mysqld start
grep "/usr/local/mysql/bin/" /etc/profile >/dev/null
if [ $? -ne ];then
echo 'PATH=/usr/local/mysql/bin/:$PATH' >>/etc/profile && source /etc/profile
else
exit
fi
PID="`netstat -lnpt|grep 330|awk -F '[ /]+' '{print $7}'`"
if [ -z $PID ];then
echo -e "\033[31m mysql-${MYSQL_VERSION} is start failure! \033[0m"
else
BAR
echo -e "\033[32m mysql-${MYSQL_VERSION} is start successful! \033[0m"
fi }
check_user
check_env
mysql5.x安装脚本的更多相关文章
- MySQL5.7安装脚本
目录结构: install_mysql.sh:安装脚本 my.cnf: MySQL配置文件 mysql--linux-glibc2.-x86_64.tar.gz:MySQL二进制包 以下为目录中的文件 ...
- 实战-Mysql5.6.36脚本编译安装及初始化
概述 本文为centos7.3自动化编译安装mysql5.3.6的脚本及后续初始化操作,话不多少,直接上脚本. 安装脚本install.py如下: #coding=utf-8 #!/usr/bin/p ...
- mysql5.7一键安装脚本
0. 概述 最近鼓捣出了一个mysql安装脚本,将该脚本,mysql的my.cnf文件,mysql的安装包这三个文件放在同一个目录下面,执行sh mysql-auto-install.sh就可以完成m ...
- mysql5.6安装
mysql5.6安装 #卸载原有的mysqlyum remove mysql*ls /etc/my.cnf*mv /etc/my.cnf* /tmp/ #安装依赖包yum install make c ...
- LAMP最新源码一键安装脚本
Linux+Apache+MySQL+PHP (脚本可以选择是否安装+Pureftpd+User manager for PureFTPd+phpMyAdmin+memcache),添加虚拟主机请执行 ...
- LNMP、LAMP、LANMP一键安装脚本(定期更新)[转]
这个脚本是使用shell编写,为了快速在生产环境上部署LNMP/LAMP/LANMP(Linux.Nginx/Tengine.MySQL/MariaDB/Percona.PHP),适用于CentOS/ ...
- 自动安装脚本-------------基于LVMP搭建Nagios 监控
Mysql初始化参数(mysql-5.6.31) /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local ...
- MySQL安装脚本0104-亲试ok
#!/bin/bash export host_ip=192.168.7.79 export password=123456 echo '#1.取master主机ip的后三位作为master的se ...
- Linux下安装mysql(示例mysql5.6安装)
1.首先检查你的linux上是否已经安装了mysql rpm -qa|grep mysql 2.如果mysql的版本不是想要的版本.需要把mysql卸载 yum remove mysql mysql- ...
随机推荐
- Scrapy框架-Spider
目录 1. Spider 2.Scrapy源代码 2.1. Scrapy主要属性和方法 3.parse()方法的工作机制 1. Spider Spider类定义了如何爬取某个(或某些)网站.包括了爬取 ...
- Linux(CentOS7)设置开放端口
查看已经开放的端口:firewall-cmd --list-ports 开启端口: firewall-cmd --zone=public --add-port=端口号/tcp --permanent ...
- 如何使用纯 CSS 制作四子连珠游戏
序言:你是否想过单纯使用 CSS 也可以制作一款游戏?甚至可以双人对决!这是一篇非常有趣的文章,作者详细讲解了使用纯 CSS 制作四子连珠游戏的思路以及使用奇淫巧技解决困难问题的方法.因为案例本身比较 ...
- 分布式存储ceph——(5)ceph osd故障硬盘更换
正常状态:
- lower_bound( )和upper_bound( )的基本用法
lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end.通过返回的地址减去起始地址 ...
- java基础-jdk工具包
1. 标准工具 这些工具都是JDK提供的,通常都是长期支持的工具,JDK承诺这些工具比较好用.不同系统.不同版本之间可能会有差异,但是不会突然就有一个工具消失. 1.1 基础包 (extcheck, ...
- UnityEditorWindow自建窗口扩展
这里主要记录UnityEditorWindow的创建,以及常用的API接口样式 1,创建UnityEditorWindow 在Unity目录中,创建一个名为Editor的文件夹(任何位置),然后创建如 ...
- 深入Redis持久化
转载:https://segmentfault.com/a/1190000017193732 一.Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义. 我们知 ...
- python高级编程笔记一 正则表达式
事例
- bugku crypto easy-crypto
长度不一的01字符串 就要考虑是不是摩斯密码 用这个py脚本: from __future__ import print_function a = input("input the stri ...