全自动安装MySQL_自动部署安装mysql-5.6.22
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:~/bin
export PATH
# Checkifuser is root
#检查用户是否为root用户if [ $(id -u) != "0" ]; then
echo "Error: You must be root to run this script, please use root to install"exit1
fi
clear
echo "========================================================================="
echo "A tool to auto-compile & install MySQL 5.6.22 on Redhat/CentOS Linux"
echo "========================================================================="cur_dir=$(pwd)
#set mysql root password
#设置MySQL根密码echo "==========================="mysqlrootpwd="root"#请输入MySQL的根密码echo -e "Please input the root password of mysql:"#默认密码
read-p "(Default password: root):"mysqlrootpwdif [ "$mysqlrootpwd" = "" ]; thenmysqlrootpwd="root"
fi
echo "==========================="
echo "MySQL root password:$mysqlrootpwd"
echo "==========================="#which MySQL Version do you want to install?#您要安装哪个MySQL版本?echo "==========================="isinstallmysql56="n"
echo "Install MySQL 5.6.22,Please input y"read-p "(Please input y , n):"isinstallmysql56case "$isinstallmysql56" iny|Y|Yes|YES|yes|yES|yEs|YeS|yeS)echo "You will install MySQL 5.6.22"isinstallmysql56="y";;*)echo "INPUT error,You will exit install MySQL 5.6.22"isinstallmysql56="n"exitesacget_char()
{
SAVEDSTTY=`stty -g`
stty-echo#禁止回显
stty cbreakdd if=/dev/tty bs=1 count=1 2> /dev/nullstty-raw
sttyecho#打开回显
stty $SAVEDSTTY
}echo ""#按任意键开始…或按Ctrl+C取消echo "Press any key to start...or Press Ctrl+c to cancel"
char=`get_char`
# 初始化与安装相关的内容
# Initialize the installation related content.functionInitInstall()
{cat /etc/issueuname -a
MemTotal=`free -m | grep Mem | awk '{print $2}'`echo -e "\n Memory is: ${MemTotal} MB"#Set timezone设置时区rm -rf /etc/localtimeln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#Synchronization time同步时间yum install -y ntp
ntpdate-u pool.ntp.orgdate#Delete Old Mysql program删除旧MySQL程序
rpm-qa|grepmysql
rpm-e mysqlyum -y remove mysql-server mysql mysql-libsyum -y remove php-mysqlyum -y install yum-fastestmirror
#yum -y update
#Disable SeLinux禁用SeLinuxif [ -s /etc/selinux/config ]; then
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/configfisetenforce0#Install Compile MySQL related procedures安装编译mysql相关程序for packages in make cmake ncurses-devel bison bison-devel libaio-devel gcc gcc-c++ openssl openssl-devel ncurses ncurses-devel net-tools perl-Data-Dumper perl;do yum -y install $packages; done}
#Check the mysql installationfileexists, there is no download automatically.functionCheckAndDownloadFiles()
{echo "============================check files=================================="
if [ "$isinstallmysql56" = "n" ]; then
if [ -s mysql-5.6.22.tar.gz ]; then
echo "mysql-5.6.22.tar.gz [found]"
else
echo "Error: mysql-5.6.22.tar.gz not found!!!download now......"
wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.22.tar.gz
fi
echo "============================check files=================================="
fi}
#Installation of depend on and optimization options.functionInstallDependsAndOpt()
{
cd $cur_dircat >>/etc/security/limits.conf<<eof* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535eofecho "fs.file-max=65535" >> /etc/sysctl.conf
}
#Install MySQLfunctionInstallMySQL56()
{echo "============================Install MySQL 5.6.22=================================="cd $cur_dir
#Backup old my.cnf
#rm -f /etc/my.cnfif [ -s /etc/my.cnf ]; then
mv /etc/my.cnf /etc/my.cnf.`date +%Y%m%d%H%M%S`.bakfi#mysql directory configurationmkdir -p /opt/mysql-5.6.22
ln -s /opt/mysql-5.6.22 /opt/mysqlif [ -d /data ] && [ -d /log ];then
ln -s /data /opt/mysql/dataln -s /log /opt/mysql/logmkdir -p /opt/mysql/runelse
mkdir -p /opt/mysql/{data,log,run}figroupadd mysql
useradd-s /sbin/nologin -M -g mysql mysqlif [ -d /data ] && [ -d /log ];then
chown -R mysql.mysql /opt/mysqlchown -R mysql.mysql /datachown -R mysql.mysql /logfi
tar zxf mysql-5.6.22.tar.gz
cd mysql-5.6.22/
mkdirsource_downloadsif [ -s gmock-1.6.0.zip ];then
cp ../gmock-1.6.0.zipsource_downloadsfi# CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"# CXX=g++# CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"# export CFLAGS CXX CXXFLAGS
cmake \-DCMAKE_INSTALL_PREFIX=/opt/mysql \-DMYSQL_DATADIR=/opt/mysql/data \-DSYSCONFDIR=/etc \-DWITH_MYISAM_STORAGE_ENGINE=1\-DWITH_INNOBASE_STORAGE_ENGINE=1\-DWITH_MEMORY_STORAGE_ENGINE=1\-DWITH_READLINE=1\-DWITH_PARTITION_STORAGE_ENGINE=1\-DENABLED_LOCAL_INFILE=1\-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci-DWITH_SSL=system \-DWITH_ZLIB=system \-DMYSQL_UNIX_ADDR=/opt/mysql/run/mysql.sock \-DMYSQL_TCP_PORT=3306\-DMYSQL_USER=mysql \-DENABLE_DOWNLOADS=1\-DWITH_DEBUG=0
make -j `cat /proc/cpuinfo | grep processor| wc -l` && make install
if [ -s ../my_defaults.cnf ]; then
echo "mysql user-defined config is [found]"
cp ../my_defaults.cnf /etc/my.cnfelse
cp support-files/my-default.cnf /etc/my.cnffi
/opt/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql --explicit_defaults_for_timestampcp support-files/mysql.server /etc/init.d/mysqlchmod 755 /etc/init.d/mysql
chkconfig--add mysql
chkconfig mysql oncat > /etc/ld.so.conf.d/mysql.conf<<EOF/opt/mysql/lib
EOF
ldconfigln -s /opt/mysql/lib/mysql /usr/lib/mysqlln -s /opt/mysql/include/mysql /usr/include/mysqlif [ -d "/proc/vz" ];thenulimit-s unlimitedfi
/etc/init.d/mysql start
#ln -s /opt/mysql/bin/mysql /usr/bin/mysql
#ln -s /opt/mysql/bin/mysqldump /usr/bin/mysqldump
#ln -s /opt/mysql/bin/myisamchk /usr/bin/myisamchk
#ln -s /opt/mysql/bin/mysqld_safe /usr/bin/mysqld_safecat > /etc/profile.d/mysql.sh <<EOF
PATH=/opt/mysql/bin:\$PATH
export PATH
EOF
source/etc/profile/opt/mysql/bin/mysqladmin -u root password $mysqlrootpwdcat > /tmp/mysql_sec_script<<EOF
use mysql;
update user set password=password('$mysqlrootpwd') where user='root';
delete from user where not (user='root') ;
delete from user where user='root' and password='';
drop database test;
DROP USER''@'%';
flush privileges;
EOF/opt/mysql/bin/mysql -u root -p$mysqlrootpwd -h localhost < /tmp/mysql_sec_scriptrm -f /tmp/mysql_sec_script
source/etc/profile/etc/init.d/mysql restart
#/etc/init.d/mysql stopecho "============================MySQL 5.6.22 install completed========================="}functionCheckInstall()
{echo "===================================== Check install ==================================="
clearismysql=""
echo "Checking..."
if [ -s /opt/mysql/bin/mysql ] && [ -s /opt/mysql/bin/mysqld_safe ] && [ -s /etc/my.cnf ]; then
echo "MySQL: OK"ismysql="ok"
else
echo "Error: /opt/mysql not found!!!MySQL install failed."
fi
if [ "$ismysql" = "ok" ]; then
echo "Install MySQL 5.6.22 completed! enjoy it."
echo "========================================================================="netstat-ntlelse
echo "Sorry,Failed to install MySQL!"
echo "You can tail /root/mysql-install.log from your server."
fi}
#The installation log
InitInstall2>&1 | tee /root/mysql-install.log
CheckAndDownloadFiles2>&1 | tee -a /root/mysql-install.log
InstallDependsAndOpt2>&1 | tee -a /root/mysql-install.log
InstallMySQL562>&1 | tee -a /root/mysql-install.log
CheckInstall2>&1 | tee -a /root/mysql-install.log
全自动安装MySQL_自动部署安装mysql-5.6.22相关推荐
- zabbix_agent自动部署安装
一.先编译个zabbix_zgent 1.下载安装zabbix wget "http://sourceforge.net/projects/zabbix/files/ZABBIX%20Lat ...
- Linux系统的安装(自动引导安装、网络安装、分区选择)
Linux系统的安装(自动引导安装.网络安装.分区选择) Cobbler配置 yum install httpd -y yum install cobbler cobbler-web pykickst ...
- kylin安装mysql_源码安装mysql
一.环境 CentOS7.4 64位 最小化安装 二.准备工作 1.安装依赖 yum -y install wget cmake gcc gcc-c++ ncurses ncurses-deve ...
- yum查询已经安装mysql_通过yum安装mysql
在linux中安装数据库首选MySQL,Mysql数据库的第一个版本就是发行在Linux系统上,其他选择还可以有postgreSQL,oracle等 在Linux上安装mysql数据库,我们可以去其官 ...
- jenkins 安装 和自动部署的 一些配置
2018-03-27 18:03:38 转载 :https://blog.51cto.com/xiong51/2093450 目录 1.安装 1.1.安装插件 1.2.配置 2.配置 2.1.配置je ...
- linux系统安装自主分区,Linux系统的安装(自动引导安装、网络安装、分区选择)...
Linux系统的安装(自动引导安装.网络安装.分区选择) Cobbler配置 yum install httpd -y yum install cobbler cobbler-web pykickst ...
- install-newton部署安装--------计算节点部署安装
#################################################################################################### ...
- ubuntu系统下安装docker并部署Springboot+mysql+redis
目录 安装Docker Docker常用命令 构建mysql容器 构建Redis容器 构建Springboot应用镜像及容器 (1)springboot使用maven将程序打成jar包,接着编写Dok ...
- CentOS 安装Docker 并部署配置MySql
先安装Docker 卸载之前Docker 如果本地之前安装过Docker,需要先卸载,如果没有安装过,可以跳过这一步: 1 $ sudu yum remove docker \ 2 docker-cl ...
最新文章
- qml: C++调用qml函数
- dubbo的监控中心
- 白话中台战略:中台是个什么鬼?
- CentOS7上GitLab的使用
- PyOpenGL之3D界面详解(二)
- 190607每日一句
- 静态页面模板,比较不错的网站,效果比较多,html代码可以直接下载即可
- 开源项目9GAG源码解析与Material改造(二)
- hdoj 4747 线段树
- 解决bug问题,查找bug的方法
- RestfulApi接口规范
- 计算输入的正数和负数个数
- python里面print是什么函数_python print()内置函数
- 如何在 Linux 下关闭 i386 架构
- 红队攻击演练过程中必须具备哪些能力
- 国企招聘计算机笔试考什么区别,国企秋招要来了!看看你能报考哪家国企!
- 携程编程大赛预赛第二场
- JS计算今年过了多少天
- 项目计划书、规划文档模板
- JAVA三角海伦公式_(海伦公式)已知三角形三条边长,求面积
热门文章
- flutter和dart的SDK安装
- matlab画转体_【求助】matlab生成旋转体?
- bash: go: 未找到命令_golang快速入门[2.3]-go语言开发环境配置-linux
- android提权system,Android push app to /system/app/
- jpa 连接多个mysql 数据库_SpringBoot 连接多个数据库
- 搭建自己的Unity Package
- 华师计算机基础在线作业秋,18秋华师《计算机基础》在线作业.docx
- 散粉在哪个步骤用_底妆的正确步骤是什么?花三分钟带你破译底妆密码
- 使用Upida/Jeneva.Net验证传入的JSON
- java 浮点型 除零_Java-非零整数除以10等于0.0浮点?