1.1 Linux 系统下 MySQL 部署
MySQL 是一款开源关系型数据库,广泛用于企业业务存储,在 Linux 环境中有多种部署方式,生产环境常用二进制包安装 、RPM/YUM 安装两种方案,下面分别记录实操步骤,本次实验版本为 MySQL 8.4.6。
说明:MySQL8.0 之后版本密码策略更加严格,默认生成随机初始密码,密码需要满足复杂度要求(大小写字母、数字、特殊符号组合)。
1.1.1 生产环境二进制包安装部署
二进制包安装自由度高,数据目录、程序路径可以自定义,方便多实例部署、版本迁移,是生产常用方案。
第一步:官网下载安装包 进入 MySQL 官网,选择社区版(Community),选择 Linux 通用二进制包,下载 mysql-8.4.6-linux-glibc2.28-x86_64.tar.xz。

第二步:上传安装包到服务器 使用 XFTP、rz 等工具,把下载好的二进制包上传到 /usr/local 目录
[root@Mysql ~]# cd /usr/local
[root@Mysql local]# ls
bin etc games include lib lib64 libexec sbin share src
第三步:解压压缩包,创建软链接 软链接方便后续升级版本,升级时只需要替换软链接指向新版本目录,不用修改大量配置文件。
[root@Mysql local]# tar -xvf mysql-8.4.6-linux-glibc2.28-x86_64.tar.xz
[root@Mysql local]# ln -s mysql-8.4.6-linux-glibc2.28-x86_64 mysql
第四步:创建 mysql 用户组与运行用户 mysql 服务禁止使用 root 运行,使用普通账号运行提升安全性,-r 创建系统用户,禁止登录系统。
[root@Mysql local]# groupadd mysql
[root@Mysql local]# useradd -r -g mysql -s /sbin/nologin mysql
# 验证用户
[root@Mysql local]# tail -1 /etc/passwd
mysql:x:978:1001::/home/mysql:/sbin/nologin
[root@Mysql local]# tail -1 /etc/group
mysql:x:1001:
第五步:MySQL 初始化,生成初始密码 --initialize 初始化数据库,自动生成随机 root 密码;--basedir 指定程序目录,--datadir 指定数据存放目录。
⚠️ 注意:datadir 目录必须是空目录,否则初始化失败;记录控制台输出的初始密码,示例密码:
f2amq+xeiDiv
[root@Mysql local]# cd mysql
[root@Mysql mysql]# ls
bin docs include lib LICENSE man README share support-files
[root@Mysql mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
第六步:启动数据库,登录并修改 root 密码 mysqld_safe 是守护进程方式启动,末尾 & 代表后台运行。
# 后台启动mysql
[root@Mysql mysql]# bin/mysqld_safe --user=mysql &
# 使用初始密码登录
[root@Mysql mysql]# bin/mysql -uroot -pt4cml+xeiDiv
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.4.6
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
# 修改root密码,符合复杂度策略
mysql> alter user root@localhost identified by 'quay050060Y+';
Query OK, 0 rows affected (0.00 sec)
第七步:配置全局环境变量 在 /etc/profile.d/ 下新建脚本,登录自动加载 mysql 环境变量,任意目录直接执行 mysql 命令。
[root@Mysql mysql]# vim /etc/profile.d/mysql.sh
写入内容:
#!/bin/bash
PATH=$PATH:/usr/local/mysql/bin
生效命令后面统一执行。
第八步:编写自定义启动脚本
补充:生产更推荐制作 systemd 服务单元文件管理,这里为实验自定义启动脚本
[root@Mysql mysql]# vim /usr/bin/mysql.start
脚本内容:
#!/bin/bash
/usr/local/mysql/bin/mysqld_safe --user=mysql &
加载环境变量、添加执行权限:
# 加载环境变量
[root@Mysql mysql]# source /etc/profile.d/mysql.sh
# 添加执行权限
[root@Mysql mysql]# chmod +x /usr/bin/mysql.start
[root@Mysql mysql]# ll /usr/bin/mysql.start
-rwxr-xr-x 1 root root 63 9月 12 14:53 /usr/bin/mysqld.start
1.1.2 RPM 包 / YUM 方式安装 MySQL
RPM 安装简单快捷,自动处理依赖,适合快速部署,会自动注册 systemd 服务,使用 systemctl 管理启停。
第一步:官网下载 mysql yum 源 rpm 包 下载 mysql84-community-release-el9-2.noarch.rpm(适配 RHEL9、Rocky9、AlmaLinux9)

第二步:上传包到服务器,安装 yum 源
[root@Mysql /]# rpm -ivh mysql84-community-release-el9-2.noarch.rpm
第三步:确认 yum 源文件,执行安装 进入 /etc/yum.repos.d/ 查看生成的 mysql 源文件,备份原有系统自带 mariadb 源后执行安装:
[root@Mysql yum.repos.d]# yum install mysql-community-server
第四步:启动服务,获取初始密码,重置密码
# 设置开机自启并立即启动
[root@Mysql ~]# systemctl enable --now mysqld
# 在日志文件中抓取初始密码
[root@Mysql ~]# cat /var/log/mysqld.log | grep password
2025-09-12T07:56:43.353496Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ?KYduOlge2R<
# 登录,特殊符号<需要转义 \
[root@Mysql ~]# mysql -uroot -p?KYduOlge2R\<
# 重置root密码
mysql> alter user root@localhost identified by 'Mysql@123';
Query OK, 0 rows affected (0.00 sec)
# 刷新权限表
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
两种安装方式对比总结
| 方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 二进制包 | 路径自定义、方便多实例、升级灵活 | 需要手动初始化、手动配置服务、步骤多 | 生产环境、数据库多实例 |
| RPM/YUM | 安装简单、自动依赖、systemd 管理 | 路径固定,多实例部署麻烦 | 测试环境、快速部署 |