首页 > 数据库 >MySQL一键安装Shell脚本的实现

MySQL一键安装Shell脚本的实现

时间:2024-01-13 10:35:53浏览次数:27  
标签:脚本 新密码 Shell MySQL 一键 echo mysql 安装

本文主要介绍了MySQL一键安装Shell脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

目录
  • 一、脚本说明
  • 1、linux系统版本
  • 2、MySQL版本
  • 3、运行方式
  • 二、脚本内容


一、脚本说明


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密码即可。


二、脚本内容

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67


#!/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


到此这篇关于MySQL一键安装Shell脚本的实现的文章就介绍到这了,更多相关MySQL安装Shell脚本内容请继续浏览下面的相关文章希望大家以后多多支持 51CTO!


标签:脚本,新密码,Shell,MySQL,一键,echo,mysql,安装
From: https://blog.51cto.com/u_14585161/9229614

相关文章

  • 【Leetcode1949. 坚定的友谊】使用MySQL在无向图中寻找{"CompleteTripartite", {1, 1,
    目录题目地址思路代码MySQL代码等效Cypher查询(未验证)题目地址https://leetcode.cn/problems/strong-friendship/思路就是在无向图中寻找这个pattern:(*Mathematica*)GraphData[{"CompleteTripartite",{1,1,3}}]SQL写还是比较麻烦。更加复杂的查询还是建议把数据迁......
  • Windows 10 中,可以使用 PowerShell 添加打印和文件服务的角色功能组件,包括 Internet
    在Windows10中,可以使用PowerShell添加打印和文件服务的角色功能组件,包括Internet打印客户端、LPD打印服务和LPR端口监视器。以下是添加这些功能组件的PowerShell命令:首先,以管理员身份打开PowerShell终端。在开始菜单中搜索"PowerShell",然后右键点击"WindowsPo......
  • 【LeetCode 2142. 每辆车的乘客人数 I】乘客到站等车,车到站载客。MySQL用户变量编程完
    题目地址https://leetcode.cn/problems/the-number-of-passengers-in-each-bus-i/description/思路将所有关键时刻作为tick。(同一时刻车和人同时到,默认人在车前到)之后按照tick升序,使用MySQL用户变量编程完成计算逻辑。输出结果。代码withticksas(selectarrival_tim......
  • mysql8.0窗口函数
    2、新特性1:窗口函数2.1、使用窗口函数前后对比假设我现在有这样一个数据表,它显示了某购物网站在每个城市每个区的销售额:CREATETABLEsales(idINTPRIMARYKEYAUTO_INCREMENT,cityVARCHAR(15),countyVARCHAR(15),sales_valueDECIMAL);INSERTINTOsales(city,county......
  • 简单易用的 MySQL 官方压测工具
    一、MySQL自带的压力测试工具Mysqlslapmysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较。mysqlslap为mysql性能优化前后提供了直观的验证依据......
  • GaussDB(for MySQL) RegionlessDB发布:全球数据库技术
    本文分享自华为云社区《GaussDB(forMySQL)RegionlessDB发布:全球数据库技术》,作者:GaussDB数据库。1.技术背景对于一些典型行业,如跨境电商和大型互联网企业,其业务往往遍及世界各地。在当今中资出海的浪潮下,客户业务全球化部署诉求对传统的数据库部署形态提出了挑战。过去客户主要......
  • Linux Shell接收键盘输入
    1.read命令格式read[选项][变量名]选项:-p“提示信息”:在等待read输入时,输出提示信息-t“秒数”:read命令会一致等待用户输入,使用此选项可以指定等待时间-n“字符数”:read命令只接受指定的字符数,就会执行-s:隐藏输入的数据,适用于机密信息的......
  • Ubuntu系统安装mysql
    1.查看有没有安装mysql dpkg-l|grepmysql2.更新ubantu包索引sudoaptupdate 3.安装mysqlsudoapt-getinstallmysql-server 4.初始化环境sudomysql_secure_installation  5.查看mysql服务状态systemctlstatusm......
  • 差异摘要:MySQL 与MariaDB
    MariaDB和MySQL之间有何区别?MySQL和MariaDB都是开源数据库技术。您可以使用它们以包含行和列的表格格式存储数据。MySQL是最广泛采用的开源数据库。它是许多热门网站、应用程序和商业产品的主要关系数据库。MariaDB是MySQL的修改版本。在MySQL被Oracle公司收购后,出于......
  • Powershell定义变量及注意事项-01
    在定义和使用PowerShell变量之前,需要注意以下几点:变量名不得包含空格或特殊字符:变量名只能包含字母、数字和下划线。变量名不能以数字开头,也不能包含空格或其他特殊字符。变量名区分大小写:在PowerShell中,变量名是区分大小写的。因此 $name 和 $Name 是两个不同的变量。变......