#!/bin/bash

#MySQL一键安装脚本

#脚本运行前请确认本机没有安装其他版本的MySQL

#运行脚本前请详细阅读my.cnf文件

PASSWORD=`cat my.cnf | grep password | awk -F '=' '{print $2}'` #数据库root用户密码(在my.cnf文件中修改)

MYSQL_FILE='mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz' #二进制安装包名

MYSQL_SIGN=`echo ${MYSQL_FILE} | sed 's/.......$//'` #解压后安装包名

INSTALL_DIR='/usr/local' #安装路径

DATA_DIR=`cat my.cnf | grep datadir | awk -F '=' '{print $2}'` #数据库文件存放路径(在my.cnf文件中修改)

if [ -e ${INSTALL_DIR}/mysql ];then echo -e "\033[31m错误:${INSTALL_DIR}/mysql已存在,无法安装\033[0m" ; exit 1 ; fi

if [ -e ${DATA_DIR} ];then echo -e "\033[31m错误:${DATA_DIR}已存在,无法安装\033[0m" ; exit 2 ; fi

INSTALL(){

yum -y install libaio >/dev/null 2>&1

LIBAIO=`yum list installed | grep libaio | wc -l`

if [ ${LIBAIO} -eq 0 ];then echo -e "\033[31m错误: libaio 扩展库安装失败\033[0m" ; exit 3 ; fi

tar zxf ${MYSQL_FILE}

mv ${MYSQL_SIGN} ${INSTALL_DIR}/${MYSQL_SIGN}

ln -s ${INSTALL_DIR}/${MYSQL_SIGN} ${INSTALL_DIR}/mysql

}

INSTALL

#安装

CREATE_GRANT(){

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

mkdir ${INSTALL_DIR}/${MYSQL_SIGN}/mysql-files

chmod 750 ${INSTALL_DIR}/${MYSQL_SIGN}/mysql-files

chown mysql:mysql -R ${INSTALL_DIR}/${MYSQL_SIGN}

mkdir ${DATA_DIR}

chown mysql:mysql -R ${DATA_DIR}

cp my.cnf /etc/my.cnf

}

CREATE_GRANT

#创建数据文件夹与mysql-file文件夹并授予权限

INITIALIZE(){

${INSTALL_DIR}/mysql/bin/mysqld --initialize --user=mysql

${INSTALL_DIR}/mysql/bin/mysql_ssl_rsa_setup >/dev/null 2>&1

${INSTALL_DIR}/mysql/bin/mysqld_safe --user=mysql &

for i in `seq 10`

do

sleep 5

PORT=`netstat -anptu | grep 3306 | wc -l`

if [ ${PORT} -ne 0 ];then break ;fi

done

}

INITIALIZE

#初始化mysql并开启ssl文件传输

UPDATA_PASS(){

AUTO_PASSWORD=`cat ${DATA_DIR}/error.log | grep password | awk '{print $NF}' | head -1`

${INSTALL_DIR}/mysql/bin/mysqladmin -uroot -p"${AUTO_PASSWORD}" password ${PASSWORD}

}

UPDATA_PASS

#修改自动生成密码,修改后密码在配置文件password项设置

CONTROL(){

cp ${INSTALL_DIR}/mysql/support-files/mysql.server /etc/init.d/mysql.server

}

#CONTROL

#mysql控制命令 可以直接启动/重启/停止mysql服务

mysql脚本简书,mysql一键安装脚本相关推荐

  1. LAMP(apache/httpd+mysql+php)环境/架构 一键安装脚本

    该脚本只在centos 上测试过,测试OK,其他发行版自行测试 #!/bin/bash #Purpose        :一键安装lamp(apache + mysql + php) #Writer ...

  2. mysql hint 简书,MySQL深入学习

    mysql 1.存储引擎 1.1.mysql逻辑架构 Connectors:C,PHP,JDBC,ODBC,.NET 存储引擎: 1.连接层 2.服务层: 主要完成核心服务功能,如SQL接口,并完成缓 ...

  3. MySQL -- 安装部署环境(一键安装脚本)

    文章目录 1.下载mysql 2.一键安装mysql脚本 3.查看mysql服务是否启动 4.登录mysql 5.一键卸载mysql脚本 1.下载mysql 官方地址:https://www.mysq ...

  4. *** Python版一键安装脚本

    本脚本适用环境: 系统支持:CentOS 6,7,Debian,Ubuntu 内存要求:≥128M 日期:2018 年 02 月 07 日 关于本脚本: 一键安装 Python 版 *** 的最新版. ...

  5. [转] *** 一键安装脚本(四合一)

    [from] https://teddysun.com/486.html 本脚本适用环境 系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 内存要求:≥128M 日期 :2017 ...

  6. linux安装yum的脚本,lnmp一键安装脚本yum方式快速安装

    自己编写的yum安装方式的LNMP一键安装脚本,yum方式安装,速度非常快,目前只有centos版本,其他系统没有弄. Centos5 chmod +x lnmp.sh sh lnmp.sh Cent ...

  7. Linux安装lamp脚本,CentOS LAMP一键安装脚本

    LAMP简单介绍 LAMP指的Linux(操作系统).Apache(HTTP 服务器),MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python)的第一个字母缩写, ...

  8. zabbix一键安装脚本

    一.lnmp一键安装脚本 注: /root/目下下需要准备好nginx-1.10.2.tar.gz和php-5.5.38.tar.gz软件包#!/bin/bash#================== ...

  9. CentOS7下pptp ***一键安装脚本

    CentOS 6.7下pptp ***一键安装脚本,安装如下: wget http://mirrors.linuxeye.com/scripts/***_centos.sh chmod +x ./** ...

最新文章

  1. 揭秘深度学习成功的数学原因:从全局最优性到学习表征不变性
  2. 浅谈windows句柄表
  3. (转)Go语言核心36讲之Go语言入门基础知识
  4. CSS中可以or不可以继承的属性
  5. leetcode 376. Wiggle Subsequence | 376. 摆动序列(动态规划)
  6. ASP.NET Core 源码学习之 Options[2]:IOptions
  7. 5g pdu session_设备 | NEC被选为NTT DOCOMO独立5G移动核心的供应商
  8. 【牛客网-前端笔试题】——vue专项练习
  9. oliver什么意思java_英语名字“oliver”是什么意思?
  10. 使用POI读写word doc文件
  11. asuswrt 单臂路由_OPENWRT-KOOLSHARE软路由,一级/单臂/二级/旁软路由设置单臂路由联网教程...
  12. 翻译 | Placing Search in Context The Concept Revisited
  13. 压缩软件替代方案BandZip
  14. 兰博基尼lp650-4跑车介绍
  15. git reset 怎么还原_git reset后如何恢复
  16. MAC地址到IPV6地址的转换
  17. 基于andoird的计步器(全代码)
  18. 2022年ACM杰出会员名单公布:23位华人学者入选
  19. 让Fedora 19支持ThinkPad鼠标中键和小红点实现滚轮效果
  20. 深度之眼Paper带读笔记NLP.2:word2vec.baseline.1

热门文章

  1. Guava关于JAVA中系统组件之间交互通讯(非线程之间通讯)
  2. PMBOK第七版,通往项目管理的新地图
  3. 自动查找并删除VC生成的临时文件
  4. 从身份管理系统思考企业CMDB的建设
  5. ReactNative之从HelloWorld中看环境搭建、组件封装、Props及State
  6. 一位数据科学家的私房工具清单
  7. LZW算法PHP实现方法 lzw_decompress php
  8. [TPYBoard - Micropython之会python就能做硬件 2] 利用micropython控制NOKIA 5110屏
  9. springmvc+mybatis+sql server实现简单登录功能
  10. 《大话设计模式》学习心得系列(一)