【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)


相关推荐

  • Linux安装anaconda3是否初始化的区别「建议收藏」

    Linux安装anaconda3提示是否希望安装程序通过运行condainit来初始化Anaconda3?DoyouwishtheinstallertoinitializeAnaconda3byrunningcondainit?官方建议的是选yes,那么选择yes和no有什么区别呢?1、选择yes:选择yes的话,bashrc文件中会添加以下内容,这样在打开终端时自…

  • 几个常用快速无损压缩算法性能比较

    几个常用快速无损压缩算法性能比较

  • redis 乐观锁_数据库乐观锁实现

    redis 乐观锁_数据库乐观锁实现文章目录GeospatialHyperloglogBitmapsRedis事务悲观锁和乐观锁JedisSpringboot继承RedisGeospatial存储地理位置的数据结构应用场景朋友的定位,附近的人,打车距离计算Geospatial底层使用的是Zset127.0.0.1:6379> geoadd city 116.23 40.22 beijing 添加一个数据127.0.0.1:6379> geoadd city 121.47 31.23 shanghai 118.77

  • Linux之traceroute命令[通俗易懂]

    Linux之traceroute命令[通俗易懂]显示数据包到主机间的路径,traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测.

  • 前端常见算法(js)「建议收藏」

    前端常见算法(js)「建议收藏」不管是在实际项目中还是在面试的时候我们大都会碰到算法问题,比如排序啊,比较大小啊之类的这些最基本的算法。我总结了一些,以后在碰到在慢慢补充。1.排序问题1.1冒泡排序冒泡排序算法就是依次比较大小,小的的大的进行位置上的交换。functionbubbleSort(arr){for(leti=0,l=arr.length;i<l-1;i++){…

  • directx修复工具是干嘛的_win10自带dll修复

    directx修复工具是干嘛的_win10自带dll修复最后更新:2019-9-5ForEnglishversion,pleaserefertothebottomofthispage.DirectX修复工具最新版:DirectXRepairV3.9标准版NEW!版本号:V3.9.0.29371大小:30.7MB/7z格式压缩,98.7MB/zip格式压缩,231MB/解压后其他版本:增强版在…

发表回复

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

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