当前位置: 首页 > news >正文

阿里云服务器 CentOS 7 安装 MySQL 8.4 超详细指南


阿里云服务器 CentOS 7 安装 MySQL 8.4 超详细指南


一、准备工作
  1. 系统要求
    • CentOS 7.9 64位
    • 2 核(vCPU)2 GiB
    • root 用户权限
  2. 服务器连接工具
    • FinalShell
  3. 下载安装包
    • 访问 MySQL 官网
    • 选择版本:MySQL 8.4.0
    • 下载 RPM Bundle 包
      在这里插入图片描述

二、安装步骤

连接CentOS 7,依次执行以下步骤。
步骤 1:更新系统

yum -y update

步骤 2:安装依赖

yum install libaio -y

步骤 3:上传安装包

cd /root

在这里插入图片描述
在这里插入图片描述
等待上传完毕后,进行下一步骤。

步骤 3:解压安装包

tar -xvf mysql-8.4.0-1.el7.x86_64.rpm-bundle.tar

步骤 4:移除冲突的 MariaDB

# 检查已安装的 MariaDB
rpm -qa | grep mariadb# 强制移除(如果有)
rpm -e --nodeps mariadb-libs# 再次确认是否移除成功
rpm -qa | grep mariadb

步骤 5:按顺序安装 RPM 包

rpm -ivh mysql-community-common-8.4.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.4.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.4.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.4.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.4.0-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.4.0-1.el7.x86_64.rpm

步骤 6:初始化 MySQL

mysqld --initialize --console

步骤 7:修改数据目录权限

chown -R mysql:mysql /var/lib/mysql

步骤 8:启动 MySQL 服务

systemctl start mysqld
systemctl enable mysqld  # 设置开机自启

步骤 9:获取并修改 root 密码

# 查看临时密码
cat /var/log/mysqld.log | grep "temporary password"

在这里插入图片描述
(从网上找了一个,忘记截图了)

# 登录 MySQL
mysql -uroot -p
# 输入临时密码
# 查看当前的密码策略
SHOW VARIABLES LIKE 'validate_password%';

在这里插入图片描述
这是 MySQL 密码策略的配置参数,含义如下:

参数说明
validate_password.changed_characters_percentage0密码修改时需变更字符的比例要求(0 为无强制)
validate_password.check_user_nameON密码不能与用户名相同
validate_password.dictionary_file密码字典文件路径(未配置)
validate_password.length8密码最小长度
validate_password.mixed_case_count1密码需包含至少 1 个大小写字母
validate_password.number_count1密码需包含至少 1 个数字
validate_password.policyMEDIUM密码策略等级(MEDIUM 中等)
validate_password.special_char_count1密码需包含至少 1 个特殊字符

如果要修改策略,使用set命令,例如:

# 指定密码中至少包含的大小写字母组合个数为0
SET GLOBAL validate_password.mixed_case_count = 0;
# 修改密码(需满足复杂度要求)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass@123';# 允许远程登录(可选)
CREATE USER 'root'@'%' IDENTIFIED BY 'MyNewPass@123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

三、安全加固
  1. 运行安全脚本

    mysql_secure_installation
    
    • 移除匿名用户
    • 禁止 root 远程登录
    • 删除测试数据库
  2. 配置防火墙

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload
    

    也可以在阿里云 云服务器管理控制台的网络与安全/安全组/管理规则/入方向/快速添加 里进行端口开放。
    在这里插入图片描述


四、常用管理命令
功能命令
启动服务systemctl start mysqld
停止服务systemctl stop mysqld
查看状态systemctl status mysqld
查看版本mysql -V
连接数据库mysql -u root -p
查看错误日志tail -f /var/log/mysqld.log

五、常见问题解决

问题 1:安装时提示依赖冲突

  • 解决
    yum remove mariadb*  # 彻底移除 MariaDB
    rpm -e --nodeps [冲突包名]
    

问题 2:忘记 root 密码

# 1. 修改配置文件
echo "skip-grant-tables" >> /etc/my.cnf# 2. 重启服务
systemctl restart mysqld# 3. 无密码登录修改
mysql -uroot
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass@123';# 4. 移除跳过密码配置
sed -i '/skip-grant-tables/d' /etc/my.cnf
systemctl restart mysqld

问题 3:客户端连接报 “caching_sha2_password” 错误

-- 登录 MySQL 执行
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'MyNewPass@123';

六、验证安装
  1. 检查运行状态

    systemctl status mysqld
    

    ✅ 输出应显示 active (running)

  2. 测试数据库操作

    CREATE DATABASE testdb;
    USE testdb;
    CREATE TABLE users (id INT, name VARCHAR(20));
    INSERT INTO users VALUES (1, 'CentOS7');
    SELECT * FROM users;
    
http://www.lryc.cn/news/593352.html

相关文章:

  • c#泛型集合(ArrayList和List、Dictionary的对比)
  • 每日面试题09:进程、线程、协程的区别
  • 48Days-Day03 | 删除公共字符,两个链表的第一个公共结点,mari和shiny
  • 【每日算法】专题十五_BFS 解决 FloodFill 算法
  • HD Video Converter Factory pro 高清视频转换器 v27.7.0 绿色中文便携版
  • 【2025最新】 .NET FrameWork微软离线运行库合集,一键安装版
  • Spring之【AnnotatedBeanDefinitionReader】
  • 前端面试专栏-工程化:28.团队协作与版本控制(Git)
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现动物分类(C#源码,UI界面版)
  • Selenium 中 findElement 方法全解析:定位网页元素的 7 种方式
  • RPC(Remote Procedure Call,远程过程调用)介绍
  • 探秘边缘安全架构设计要点解析
  • 深入了解 find_element 方法:Web 自动化定位元素的核心​
  • Node.js特训专栏-实战进阶:17.会话管理与安全存储
  • 开发框架安全ThinkPHPLaravelSpringBootStruts2SpringCloud复现
  • SLAM中的非线性优化-2D图优化之激光SLAM基于优化的前端匹配(十八)
  • KVM中使用桥接模式.运维就业技术教程
  • 零基础学习性能测试-linux服务器监控:CPU监控
  • 【RK3576】【Android14】USB开发调试
  • 《Spring Boot 插件化架构实战:从 SPI 到热插拔的三级跳》
  • Android14 SystemUI 启动流程(2)
  • Verilog *2* SPI-立创逻辑派G1测试-1
  • 软件警告弹窗与兼容性问题
  • 当OT遇见IT:Apache IoTDB如何用“时序空间一体化“破解工业物联网数据孤岛困局
  • FMEA-CP-PFD三位一体数字化闭环:汽车部件质量管控的速效引擎
  • XSS漏洞----基于Dom的xss
  • 动态规划算法的欢乐密码(三):简单多状态DP问题(上)
  • GA-BP遗传算法优化BP神经网络数据生成,采用SVM分类模型评估
  • RabbitMQ面试精讲 Day 3:Exchange类型与路由策略详解
  • PostgreSQL常用命令与工具指南