大家好,又见面了,我是你们的朋友全栈君。
前言
此脚本为一个学员在工作中遇到在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账号...