MySQL的完整安装(无报错)和shell脚本一键安装MySQL

安装MySQL的步骤(无报错版本)--11步

1.首先:停止MySQL服务(如果存在)

sudo systemctl stop mysqld 2>/dev/null

2.卸载MySQL相关软件包

sudo yum remove -y mysql* mysql-community*

3.删除MySQL相关文件和目录

sudo rm -rf /var/lib/mysql

sudo rm -rf /var/log/mysqld.log

sudo rm -rf /etc/my.cnf

sudo rm -rf /etc/my.cnf.d/

4.下载 MySQL 5.7 的 YUM 源配置文件

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -O /tmp/mysql57.rpm

5.安装 MySQL YUM 源

sudo rpm -ivh /tmp/mysql57.rpm

rm -f /tmp/mysql57.rpm

6.验证 YUM 源是否生效

echo "检查YUM源..."

yum repolist enabled | grep mysql

7.安装 MySQL 5.7 服务器

echo "正在安装MySQL 5.7..."

sudo yum install -y mysql-community-server 如果报错,说密钥的问题导致不能正常下载

就在后面再加一个--nogpgcheck,表示跳过密钥

sudo yum install -y mysql-community-server --nogpgcheck

8.启动 MySQL 并设置开机自启

sudo systemctl start mysqld

sudo systemctl enable mysqld

9.检查服务状态

echo "检查MySQL服务状态..."

sudo systemctl status mysqld --no-pager

10.获取临时密码并修改

sudo grep 'temporary password' /var/log/mysqld.log

输出类似:

Note\] A temporary password is generated for root@localhost: Abc123def456! 记下这个临时密码(Abc123def456! 部分) 然后用临时密码登录 MySQL: mysql -u root -p 11.修改 root 密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; #如果密码太简单,可能会报错 ERROR 1819 (HY000): Your password does not satisfy the #current policy requirements,此时需要设置更复杂的密码。 一键安装脚本: # 停止MySQL服务(如果存在) sudo systemctl stop mysqld 2\>/dev/null # 卸载MySQL相关软件包 sudo yum remove -y mysql\* mysql-community\* # 删除MySQL相关文件和目录 sudo rm -rf /var/lib/mysql sudo rm -rf /var/log/mysqld.log sudo rm -rf /etc/my.cnf sudo rm -rf /etc/my.cnf.d/ # 下载 MySQL 5.7 的 YUM 源配置文件 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -O /tmp/mysql57.rpm # 安装 MySQL YUM 源 sudo rpm -ivh /tmp/mysql57.rpm rm -f /tmp/mysql57.rpm # 验证 YUM 源是否生效 echo "检查YUM源..." yum repolist enabled \| grep mysql # 安装 MySQL 5.7 服务器 echo "正在安装MySQL 5.7..." sudo yum install -y mysql-community-server 如果报错,说密钥的问题导致不能正常下载 就在后面再加一个--nogpgcheck,表示跳过密钥 sudo yum install -y mysql-community-server --nogpgcheck # 启动 MySQL 并设置开机自启 sudo systemctl start mysqld sudo systemctl enable mysqld # 检查服务状态 echo "检查MySQL服务状态..." sudo systemctl status mysqld --no-pager # 获取临时密码 echo "获取临时密码..." TEMP_PWD=$(sudo grep 'temporary password' /var/log/mysqld.log \| awk '{print $NF}') if \[ -z "$TEMP_PWD" \]; then echo "错误:未找到临时密码!请检查日志文件 /var/log/mysqld.log" exit 1 fi echo "临时密码: $TEMP_PWD" # 提示用户手动修改密码(因为需要交互) echo "请执行以下命令完成密码修改:" echo "mysql -u root -p" echo "输入临时密码后执行:" echo "ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';" echo "注意: 密码需符合策略(至少8位,含大小写字母、数字和特殊字符)" # 可选:自动尝试修改密码(非交互式,但可能因策略失败) # echo "尝试自动修改密码(可能因策略失败)..." # mysql -u root -p"$TEMP_PWD" \<\

相关推荐
Coder_Boy_4 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
helloworldandy4 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
yunfuuwqi5 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
迎仔5 小时前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
代码游侠5 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
数据知道6 小时前
PostgreSQL 故障排查:如何找出数据库中最耗时的 SQL 语句
数据库·sql·postgresql
qq_12498707536 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
枷锁—sha6 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Coder_Boy_6 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Gain_chance6 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习