MySQL一键安装Shell脚本的实现
作者:清梦清河 发布时间:2024-01-16 23:28:29
标签:MySQL,安装,Shell
一、脚本说明
1、linux系统版本
EL6, EL7, EL8, and EL9-based platforms (for example, the corresponding versions of Oracle Linux, Red Hat Enterprise Linux, and CentOS),本脚本使用的是CentOS7。
2、MySQL版本
此脚本安装的是MySQL57,如果需要使用8.X版本的,只需在配置yum源时将57改为80即可
3、运行方式
此脚本的好处便是能够使用一条命令即可安装完成MySQL
脚本直接使用bash 脚本名称或者sh 脚本名称即可运行,如果安装成功则等待设置MySQL密码即可。
二、脚本内容
#!/bin/bash
# 配置mysql yum源
wget https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
rpm -ivh mysql57-community-release-el7-7.noarch.rpm
# 更新GPG验证密钥,并安装mysql,如果不更新密钥,安装则会失败
# 如果不更新最后两行可能报以下错误
# Failing package is: mysql-community-client-5.7.38-1.el7.x86_64
# GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install mysql-server -y
# 启动mysql
echo '正在启动MySQL,请稍等......'
systemctl start mysqld.service
if [ $? -ne 0 ];then
echo 'MySQL启动失败!!!'
exit
else
echo 'MySQL启动成功!!!'
echo '===================================='
fi
# 获取初始密码
initpasswd=`cat /var/log/mysqld.log | grep password | awk '{print $NF}'`
echo "初始密码为:${initpasswd}"
# 用户设置密码
flag=1
while [ $flag -eq 1 ]
do
read -p "请输入新密码:" newpasswd
read -p "请确认密码:" secondpasswd
if [ $newpasswd -eq $secondpasswd ]
then
flag=2
else
echo "两次密码不一致,请重新输入"
echo "===================================="
fi
done
echo "设置的新密码为:${newpasswd}"
mysql --connect-expired-password -uroot -p"${initpasswd}" -e "set global validate_password_policy=0;set global validate_password_length=1;alter user 'root'@'localhost' identified by '${newpasswd}';"
if [ $? -ne 0 ];then
echo '新密码设置失败!!!'
exit
else
echo '===================================='
echo "新密码设置成功!,新密码为:${newpasswd}"
echo '===================================='
fi
echo "正在开启远程登录......"
mysql --connect-expired-password -uroot -p"${newpasswd}" -e "update mysql.user set Host = '%' where Host = 'localhost' and User='root';flush privileges;"
if [ $? -ne 0 ];then
echo '远程登录开启失败!!!'
exit
else
echo '===================================='
echo '远程登录开启成功!'
echo '===================================='
fi
来源:https://blog.csdn.net/m0_51691291/article/details/128393029


猜你喜欢
- 这篇文章主要介绍了python ftplib模块使用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 不管是在信贷领域还是支付领域,作为一个风控人员,我们都需要对部署的策略模型进行监控,信贷领域可能还需要对客户的逾期表现进行监控。这时,如果我
- 这是早上找了点时间写了一个利用404错误达到静态态效果的类,准备在HTTP://PJSKIN.MYSUC.COM中使用的。不过现在没时间去弄
- 前言docopt 是一个开源的库,代码地址:https://github.com/docopt/docopt。它在 README 中就已经做
- Pandas如何将带有字符串元素的列拆分为多个列。使用以下字符串的方法。str.split():用定界符分割str.extract():按正
- 有时一些网页对源码进行了加密,我们很难找到类似像“onselectstart="return false"”这样的代码,
- 相信大家都知道html和css,知道html结构和css表现分离,知道html语义化,这些都是这几年的热门关键字。语义化的html在国内也是
- 在迭代中enumerate比range更能灵活,一般情况下尽量用erumerate,下面举例说明:先来看range的使用:city_list
- 本文为大家分享了vuejs事件中心管理组件间的通信,供大家参考,具体内容如下事件中心这个可以是一个空的全局的Vue实例,其他的组件利用这个实
- 如何在服务器端调用winzip命令行对上传的多个文件打包压缩?要解决这个问题,首先要了解一下Windows Scripting Host,简
- 前言 基于mybatis的AbstractRoutingDataSource和I
- 假如页面上有很多条记录,很多情况下,对这些信息按照字母表降序排序会比传统的升序排序显示效率更高。采用你熟悉的ORDER BY 子句,你可以很
- 为了庆祝jQuery的四周岁生日, jQuery的团队荣幸的发布了jQuery Javascript库的最新主要版本! 这个版本包含了大量的
- 前言这几年对运维人员来说最大的变化可能就是公有云的出现了,我相信可能很多小伙伴公司业务就跑在公有云上, 因为公司业务关系,我个人
- b 和 i 标签在现在的 Web 标准潜规则中是不推荐使用,甚至是反对使用的,因为认为他们只是“表现”粗体和斜体,而没有任何“语义”。更多的
- 这篇文章中我们将通过对HelloWorld的message进行操作,介绍一下如何使用flask进行Restful的CRUD。概要信息事前准备
- 记得刚学python那会,作过一个飞机大战小项目,这个项目非常经典,可以帮助初学者提高动手能力,今天把它分享出来。一、项目介绍先放几张图片二
- 自动更新统计信息的基本算法是: · 如果表格是在 tempdb 数据库表的基数是小于 6,自动更新到表的每个六个修改。 · 如果表的基数是大
- 占位符,顾名思义就是插在输出里站位的符号。占位符是绝大部分编程语言都存在的语法, 而且大部分都是相通的, 它是一种非常常用的字符串格式化的方
- master库对于SQLServer来说,是很重要的系统数据库,保存着所有Sqlserver的用户信息、数据库信息等,当数据库崩溃时,mas