#!/bin/sh
#mkdir /root/mysql
#tar -xvf mysql-5.7.-.el7.x86_64.rpm-bundle.tar -C /root/mysql
#cd /root/mysql
#yum -y install perl-Data-Dumper perl-JSON perl-Time-HiRes
#rpm -Uvh mysql-community-*.rpm
#systemctl start mysqld
language(){
echo $LANG |grep -q zh
if [ $? -eq ];then
return
else
return
fi
}
menu(){
clear
language
if [ $? -eq ];then
echo " ##############----Menu----##############"
echo "# 1. 安装mysql"
echo "# 2. 修改数据库的初始密码"
echo "# 3. 配置数据库"
echo "# 4. 卸载数据库"
echo "# 5. 退出"
echo " ########################################"
else
echo " ##############----Menu----##############"
echo "# 1. Install mysql"
echo "# 2. change mysql first password"
echo "# 3. configure mysql"
echo "# 4. remove MySQL"
echo "# 5. exit"
echo " ########################################"
fi
} choice(){
language
if [ $? -eq ];then
read -p "请选择一个菜单[1-5]:" select
else
read -p "Please choice a menu[1-5]:" select
fi
}
install_mysql(){
language
echo "请上传数据库安装包"
rz -E
mkdir /root/mysql
tar -xvf mysql-5.7.-.el7.x86_64.rpm-bundle.tar -C /root/mysql
cd /root/mysql
rm -rf mysql-community-devel-5.7.-.el7.x86_64.rpm mysql-community-embedded-*.rpm mysql-community-libs-compat-5.7.-.el7.x86_64.rpm mysql-community-test-5.7.-.el7.x86_64.rpm
yum -y install perl-Data-Dumper perl-JSON perl-Time-HiRes net-tools
rpm -Uvh mysql-community-*.rpm
systemctl start mysqld if [ $? -eq ]
then
echo "安装成功"
else
echo $?
exit
fi
} change_password(){
language
PORT=""
USERNAME="root"
PASSWORD=$(cat /var/log/mysqld.log |grep 'temporary password' | awk -F: '{print $4}' | sed s/[[:space:]]//g)
echo $PASSWORD
mysql_conn="mysql -P${PORT} -u${USERNAME} --connect-expired-password --password=${PASSWORD}"
echo $mysql_conn
NEWPASS=""
# sql="alter mysql.user 'root'@'localhost' identified by \"${NEWPASS}\";flush privileges;"
# echo $sql
$mysql_conn -e "set global validate_password_policy=0;"
$mysql_conn -e "set global validate_password_length=4;"
$mysql_conn -e "set password for 'root'@'localhost'=password('1234');flush privileges;"
if [ $? -eq ]
then
echo "修改密码成功"
else
echo $?
exit
fi } configure_mysql(){
cp /etc/my.cnf /etc/my.cnf.default
sed -i '3a\[client]\t\ndefault-character-set=utf8 ' /etc/my.cnf
sed -i '/\[mysqld\]/a\character-set-server=utf8\nvalidate_password_length=4\nvalidate_password_policy=0 ' /etc/my.cnf
systemctl restart mysqld
if [ $? -eq ]
then
echo "修改默认编码为utf8成功"
  sleep
else
echo $?
exit
fi
  
} remove_mysql(){
language
systemctl stop mysqld
mysql_pack=$(rpm -qa|grep mysql)
for i in $mysql_pack
do
rpm -e ${i} --nodeps
done
rm -rf /var/lib/mysql
rm -rf /usr/bin/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
rm -rf /usr/include/mysql
rm -rf /var/log/mysqld.log
if [ $? -eq ]
then
echo "卸载成功"
else
echo $?
exit
fi }
while true
do
menu
choice
case $select in
)
install_mysql
;;
)
change_password
;;
)
configure_mysql
;;
)
remove_mysql
;;
)
quit;break
;;
esac
done

mysql 安装卸载自动化脚本的更多相关文章

  1. MySQL安装卸载、idea中Database的使用、常用的sql语句

    MySQL安装卸载 MySQL安装 在下面的资源链接中下载MySQL软件压缩包(绿色版),这个版本是MySQL5.7.29的,本教程也只适用于这个绿色版的,如果下载的是安装包那就可能有些地方不一样了, ...

  2. mysql安装 卸载 查字符集编码

    下载地址 :     https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip 解压zip  解压完之后的目录 在里面新建一 ...

  3. Mysql安装及自动化部署脚本方案

    一.简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是 ...

  4. mysql安装卸载-windows

     安装:(注意点) 官网download安装包 choose setup type --> custom 安装路径 detailed configuration developer machin ...

  5. Linux中Mysql安装卸载

    参考博客:https://www.cnblogs.com/xrog/p/6862669.html安装步骤:#wget http://dev.mysql.com/get/mysql57-communit ...

  6. Hadoop(MapR)分布式安装及自动化脚本配置

    MapR的分布式集群安装过程还是很艰难的,远远没有计划中的简单.本人总结安装配置,由于集群有很多机器,手动每台配置是很累的,编写了一个自动化配置脚本,下面以脚本为主线叙述(脚本并不完善,后续继续完善中 ...

  7. MySQL安装/卸载

    http://jishu8.cc/2017/02/06/55/ 检查端口是否冲突:netstat nao | findstr 3307  启动服务:services.msc

  8. lnmp_auto:自动化安装lnmp环境脚本

    朋友找我在一台机器上帮忙安装下discuz.想着搭建过好几次的lnmp了,但是还没有使用过"一键安装"的自动化脚本,去网上有搜索出来,但是运行的时候发现用root运行别人的脚本还是 ...

  9. Linux安装卸载Mysql数据库

    关于mysql数据库在Linux下的应用一直以来都是我认为比较棘手的,这次通过搭建Linux学习环境顺便研究和学习Mysql数据库在Linux下安装和卸载. 1.先来看看卸载吧,如下图所示: 以上的命 ...

随机推荐

  1. IOFFSETOF ICONTAINEROF IQUEUE_ENTRY

    #include <iostream> #define IOFFSETOF(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) #de ...

  2. ssm框架中applicationContext.xml文件中配置别名

    在applicationContext.xml中配置如下: 通过以下property标签中给定name属性value属性及对应的值,来将domain包下所有实体类设置别名. 在xxxDao.xml中 ...

  3. Ubuntu定时执行任务(定时爬取数据)

    cron是一个Linux下的后台进程,用来定期的执行一些任务.因为我用的是Ubuntu,所以这篇文章中的所有命令也只能保证在Ubuntu下有效. 1:编辑crontab文件,用来存放你要执行的命令 s ...

  4. maven配置问题

    今天配置maven环境,最后总是显示 百度好多方法,都没解决,最后查看了一下maven目录下的mvn.cmd文件发现里面的jdk引用名用的是%JAVA_HOME%..... 看完就发现问题了,自己装了 ...

  5. EfficientNet

  6. Redis服务之集群节点管理

    上一篇博客主要聊了下redis cluster的部署配置,以及使用redis.trib.rb工具所需ruby环境的搭建.使用redis.trib.rb工具创建.查看集群相关信息等,回顾请参考https ...

  7. Solon 的 PathVariable 不需注解

    相对于 Spring boot 的 path variable :Solon 的不需注解,只要变量名对上即可: //path var demo // @XMapping("e/{p_q}/{ ...

  8. .netcore tif文件转jpg,并通过webapi返回

    网上能搜到很多关于c# tif转jpg的代码.最简单的就是下面这段获得转换后的图片图片对象.在netcore 中使用这段代码时由于netcore框架已经不自带System.Drawing命名空间了所有 ...

  9. 虚拟机解释器与bytecode对接

    心头一直有个疑问,jvm虚拟是如何对接class中的字节码的?或者说在未进入 JIT优化阶段时,解释器是如何对接的? 大概阐述 hotspot通过C++代码在堆上申请一块空间,向里面填充一组指令,然后 ...

  10. 简单快速导出word文档

    最近,我写公司项目word导出功能,应该只有2小时的工作量,却被硬生生的拉长2天,项目上线到业务正常运行也被拉长到2个星期. 为什么如此浪费时间呢? 1)公司的项目比较老,采用硬编码模式,意味着wor ...