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

阿里云服务器 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.xdnf.cn/news/15775.html

相关文章:

  • 2025年医疗人工智能发展现状
  • 网络基础DAY14-可靠性概念及要求+链路聚合
  • 机器学习漫画小抄 - 彩图版
  • 『 C++ 入门到放弃 』- AVL树
  • 了解.NET Core状态管理:优化技巧与常见问题解决方案
  • 暑假--作业3
  • Linux 自旋锁
  • 13.4 Meta LLaMA开源模型家族全面解析:从Alpaca到Vicuna的技术内幕
  • 笛卡尔积规避:JOIN条件完整性检查要点
  • React生命周期
  • 【Bluedroid】btif_av_sink_execute_service之服务器启用源码流程解析
  • 一动一静皆消耗——IC设计之低功耗技术(Low Power Design)
  • install_arm_docker.sh
  • Redis性能测试全攻略:工具实操与性能优化指南
  • 安装单机版本Redis
  • 2025第15届上海国际生物发酵展:聚焦合成生物与绿色制造,共启生物经济新时代
  • 在 .NET Core 中创建 Web Socket API
  • Spring AI 1.0版本 + 千问大模型之文本对话
  • FPGA自学——二选一多路选择器
  • 南洋理工空中导航零样本迁移与泛化!VLFly:基于开放词汇目标理解的无人机视觉语言导航
  • 1. Spring AI概述
  • 论文略读:Are Large Language Models In-Context Graph Learners?
  • 100条常用SQL语句
  • javaweb的几大常见漏洞
  • YOLOv11改进 | DWRSeg扩张式残差助力小目标检测
  • 3.条件判断:让程序学会做选择
  • gitlab+jenkins
  • 【数据结构】栈(stack)
  • Uniapp之自定义图片预览
  • Linux --进程信号