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- ...
随机推荐
- .NET Core 图片操作在 Linux/Docker 下的坑
一.前言 .NET Core 目前更新到2.2了,但是直到现在在 .NET Core 本身依然不包括和图片有关的 Image.Bitmap 等类型.对于图片的操作在我们开发中很常见,比如:生成验证码. ...
- Elastic Stack-Elasticsearch使用介绍(三)
一.前言 上一篇说了这篇要讲解Search机制,但是在这个之前我们要明白下文件是怎么存储的,我们先来讲文件的存储然后再来探究机制: 二.文档存储 之前说过文档是存储在分片上的,这里要思考一个问 ...
- Web后台快速开发框架
Web后台快速开发框架 Coldairarrow 目录 目录 第1章 目录 1 第2章 简介 3 第3章 基础准备 4 3.1 开发环境要求 4 3.2 ...
- Spring Boot – Jetty配置
前言 默认情况下,Spring Boot会使用内置的tomcat容器去运行应用程序,但偶尔我们也会考虑使用Jetty去替代Tomcat:对于Tomcat和Jetty,Spring Boot分别提供了对 ...
- CRM销售人员针对的客户的权重分配的思想
巧妙使用权重http://www.ziawang.com/article/52/ Django 项目CRM总结 - Pythia丶陌乐 - 博客园https://www.cnblogs.com/sup ...
- 【MySQL 读书笔记】当我们在执行更新语句的时候我们在做什么
该篇其实重点涉及两个日志的使用和处理. 一个是 server 层的 binlog 一个是服务器层的 redolog. 首先还是根据主线来介绍当我们在执行更新语句的时候我们在做什么 Redo Log M ...
- JAVA流读取文件并保存数据
如图有文本如下数据 写方法读取数据 private String[][] getData(){ // 使用ArrayList来存储每行读取到的字符串 ArrayList<String> a ...
- 【Linux】Linux主要目录以及说明
主要目录以及说明: /:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中. /bin, ...
- JSP元素介绍
1.HTML注释 <!--这个HTML注释--> 2.JSP注释 <% --这是JSP注释-- %> 3.声明 用于在页面中定义变量或方法 <% ! String use ...
- 数据分析三剑客之Matplotlib
Matplotlib绘图和可视化 简介 我的前面两篇文章介绍了 Nimpy ,Pandas .今天来介绍一下Matplotlib. 简单来说,Matplotlib 是 Python 的一个绘图库.它包 ...