【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

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • idea2021.9激活码步骤【2021.8最新】

    (idea2021.9激活码步骤)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • JavaScript日期格式化及解析

    JavaScript日期格式化及解析JavaScript开发经常需要对日期进行转换,把日期转成字符串或者从字符串生成日期。JavaScript日期对象内置了简单的日期格式化方法toString()和日期解析方法Date.parse(),这两个方法有较大的局限性,不能自定义自定义日期格式化和解析的字符串格式。下面列出一些常用的日期处理JS库。

  • 配置监听_1521端口占用问题

    配置监听_1521端口占用问题声明:原创作品,出自“深蓝的blog”博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。深蓝的blog: 前提回现修改了主机名,由hyldb修改为hyl。问题现象配置监听,警告提示,如下所示:解决方法1、检查1521端口[root@hyl~]#netstat-a–查看端口占用情况,查明1521端口并未被占用ActiveInte

  • 面向对象程序设计的基本概念_java面向对象程序设计

    面向对象程序设计的基本概念_java面向对象程序设计Java程序设计(面向对象)- 基本概念

  • iphone5s如何省电?耗电费电如何处理?iphone5s耗电费电解决方法

    iphone5s如何省电?耗电费电如何处理?iphone5s耗电费电解决方法

  • 微信服务号开发整体流程图_微信号怎么改第二次

    微信服务号开发整体流程图_微信号怎么改第二次1、微信的各个平台微信开放平台,面向开发人员,为网站、App提供微信第三方登录功能,为App提供支付功能(通过客户端sdk拉起微信客户端);微信公众平台,对应的是公众号,包括订阅号、服务号、企业号,面向运营人员和开发人员,运营可以直接登录公众号管理后台查看公众号的各种指标,开发则是通过调用微信提供的各种接口来增强公众号的功能;微信商户平台,用户通过微信支付的钱,最终到达商户账号。无论是开…

发表回复

您的电子邮箱地址不会被公开。

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