【shell案例】CentOS7安装MySQL脚本案例

【shell案例】CentOS7安装MySQL脚本案例前言此脚本为一个学员在工作中遇到在centos7中安装mysql的问题,于是安排一个学员花了15分钟写了一个脚本,可以正常安装使用。mysql的版本为5.7版本此脚本涉及到安装好mysql后,日志中没有临时密码的问题,所以该学员使用了破解mysql密码登陆修改去修改密码的方法,也算是一种好方法,在工作中,能解决问题才是根本,其他的技巧都是扯淡。虽然脚本还存在一些问题,但测试后发现可以正常安装,敢写就是一种进步。脚本源码因时间紧张,该学员未加注释,但我相信只要学完了shell基础的小伙伴都可以看懂

大家好,又见面了,我是你们的朋友全栈君。

前言

此脚本为一个学员在工作中遇到在centos7中安装mysql的问题,于是安排一个学员花了15分钟写了一个脚本,可以正常安装使用。
mysql的版本为5.7版本

此脚本涉及到安装好mysql后,日志中没有临时密码的问题,所以该学员使用了破解mysql密码登陆修改去修改密码的方法,也算是一种好方法,在工作中,能解决问题才是根本,其他的技巧都是扯淡。
虽然脚本还存在一些问题,但测试后发现可以正常安装,敢写就是一种进步。

脚本源码

因时间紧张,该学员未加注释,但我相信只要学完了shell基础的小伙伴都可以看懂,这就是一个流水账的安装方法,加了一点判断。

[root@xinsz08-18 ~]# cat mysql-install.sh 
#!/bin/bash
file=mysql57-community-release-el7-10.noarch.rpm
mkdir -p /app
cd /app
if [ -f "$file" ];then
    echo "文件已存在,无需下载"
else
    echo "正在下载所需源rpm包请稍后"

wget https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    if [ $? -eq 0 ];then
        echo "下载安装包成功,开始安装rpm包"
    else
        echo "download error,exit"
        exit 1
    fi

fi


yum localinstall *.rpm -y
cd /etc/yum.repos.d/

yum -y remove mariadb*
echo "开始安装mysql"
yum install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel -y
yum install mysql-server  -y
if [ $? -eq 0 ];then
    echo "mysql 安装成功,现在开始启动"
    systemctl start mysqld
else
   echo "mysql安装出现了问题,请排查"
   exit 2
fi
sql_prot=`lsof -i:3306 |wc -l`
if [ $sql_prot -gt 0 ];then
echo "mysql已经启动" 
else "mysql 未启动,准备查看配置文件"
fi
echo "获取登陆密码"
rm -rf /var/lib/mysql
systemctl restart mysqld
echo "skip-grant-tables=1" >> /etc/my.cnf
systemctl restart mysqld
echo "对数据库进行操作"
mysql -u root -e 'use mysql;'
mysql -u root -e 'update user set password=password('123456789') where user='root' and host='localhost';'
#mysql -e 'flush privileges; '
sed -i '/skip-grant-tables=1/d' /etc/my.cnf
echo "测试登陆,登陆后可以把root密码改成你自己想要的密码"
mysql -uroot -p123456789

####总结
刚开始写脚本,不要在意写的好坏,能够运行,完成任务就可以了,以后在慢慢完善。千万不要一上来就开始各种函数,各种循环,容易把自己绕晕。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140750.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java applet介绍,Java Applet教程介绍[通俗易懂]

    java applet介绍,Java Applet教程介绍[通俗易懂]Applet是一种特殊类型的程序,嵌入在网页中以生成动态内容。它在浏览器中运行,并在客户端运行。小程序的优势小程序有很多优点。它们如下:它在客户端工作,因此响应时间更少。担保的它可以由在许多平台下运行的浏览器执行,包括Linux,Windows,MacOs等。小程序的缺点客户端浏览器需要插件才能执行applet。你知道吗小程序的层次结构如上图所示,Applet类扩展了Panel。…

    2022年7月7日
    16
  • 聊聊LuaJIT「建议收藏」

    聊聊LuaJIT「建议收藏」JIT什么是JITJIT=JustInTime即时编译,是动态编译的一种形式,是一种优化虚拟机运行的技术。程序运行通常有两种方式,一种是静态编译,一种是动态解释,即时编译混合了这二者。Ja

    2022年8月6日
    3
  • Ubuntu18.04 Cmake升級

    Ubuntu18.04 Cmake升級

    2020年11月8日
    205
  • 什么叫母函数_母函数和矩母函数

    什么叫母函数_母函数和矩母函数生成函数(母函数)什么是生成函数:wiki上的介绍在数学中,某个序列(an)n∈N\large{\displaystyle(a_{n})_{n\in\mathbb{N}}}(an​)n∈N​的母函数(又称生成函数,英语:Generatingfunction)是一种形式幂级数,其每一项的系数可以提供关于这个序列的信息。使用母函数解决问题的方法称为母函数方法。母函数可分为很多种,包……

    2022年10月22日
    0
  • rj45管脚定义_rj45接口定义,rj45插座引脚定义

    RJ45是布线系统中信息插座(即通信引出端)连接器的一种,连接器由插头(接头、水晶头)和插座(模块)组成,插头有8个凹槽和8个触点。RJ是RegisteredJack的缩写,意思是“注册的插座”。在FCC(美国联邦通信委员会标准和规章)中RJ是描述公用电信网络的接口,计算机网络的RJ45是标准8位模块化接口的俗称。rj45插座引脚定义:常见的RJ45接口有两类:用于以太网网卡、路由器以太网接口等…

    2022年4月15日
    46
  • Eurake分区理解

    Eurake分区理解Eurake分区理解大型项目如果存在多个机房,例如北京机房,上海机房,杭州机房等,上千个服务注册在Eurake上面,我们的事例也分别部署在各个区域。这时候,由于机房存在不同的区域,北京的一个服务如果调用上海的一个服务,就可能发生延迟,服务的响应速度也会慢很多,这时候,我们可能期望,北京的服务生产者调用北京的服务消费着,这该怎么去操作?Eurake其实有个分区功能,什么是分区,就是北京有一个注册…

    2022年6月12日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号