跳到主要内容MySQL 8.0.x 跨平台安装实战:Windows、CentOS、Ubuntu 配置详解 | 极客日志SQL
MySQL 8.0.x 跨平台安装实战:Windows、CentOS、Ubuntu 配置详解
MySQL 8.0.x 跨平台安装实战涵盖 Windows、CentOS 7 及 Ubuntu 22.04 LTS 三种环境。教程详解 Installer 图形化部署、Yum 与 APT 源配置流程,包含服务管理、root 密码获取与策略调整、防火墙设置及常见报错解决方案。重点解决端口冲突、加密方式兼容及远程连接问题,提供从安装到验证的完整操作指令,帮助开发者快速搭建稳定可靠的数据库环境。
GopherDev2 浏览 MySQL 8.0.x 跨平台安装实战:Windows、CentOS、Ubuntu 配置详解
前言:安装前必看说明
在动手安装之前,先明确版本选择逻辑与前置检查项,能避免后续很多不必要的麻烦。
版本选择依据
本文以 MySQL 8.0.x 版本为核心(如 8.0.34、8.0.39)。选择该版本主要基于以下考量:
- 稳定性:8.0.x 系列是官方长期支持(LTS)版本,修复了大量早期 Bug,对 Spring Boot、Django 等主流框架兼容性更好。
- 新特性:支持窗口函数、JSON 增强、原子 DDL 等功能,能满足现代应用开发需求。
- 安全性:默认启用
validate_password 组件,强制密码复杂度,降低弱密码风险。
注意:除非项目有历史兼容需求,否则建议避免选择 5.7 及以下版本。5.7 系列已于 2023 年底停止官方支持,不再提供安全更新。
安装前置检查
无论哪种操作系统,安装前请完成以下检查:
- 关闭现有服务:若已安装过 MySQL,请先停止服务(Windows 通过'服务'面板,Linux 用
systemctl stop mysqld),防止端口冲突。
- 清理残留文件:卸载旧版本后,务必删除残留配置文件(如
/etc/my.cnf、C:\ProgramData\MySQL),否则新安装可能读取旧配置导致异常。
- 确认权限:Linux 需使用
root 用户或 sudo 权限;Windows 建议以'管理员身份'运行 Installer,避免文件权限不足。
Windows 系统下 MySQL 8.0.x 安装(使用 Installer)
Windows 环境推荐使用官方 MySQL Installer 工具,它集成了服务器、客户端(Workbench)等组件,支持一键配置,非常适合新手。
下载 MySQL Installer
- 访问 MySQL 官方下载页,选择 Microsoft Windows 平台。
- 下载离线完整包
mysql-installer-community-8.0.x.msi(约 300MB),避免在线安装时因网络波动中断。
- 登录 Oracle 账户(无账户可免费注册,或使用浏览器隐私模式跳过)。
运行 Installer 选择组件
双击下载的 .msi 文件,若弹出'用户账户控制'提示,点击'是'。
- 选择安装类型:默认进入'Custom'(自定义)模式,点击'Next'。
- 过滤组件:点击'Edit',设置过滤器为
All Software、Current GA、Any Architecture。
- 勾选核心组件:
- MySQL Servers →
MySQL Server 8.0.x - X64
- Applications →
MySQL Workbench 8.0.x - X64(可视化管理工具)
其他组件(如 MySQL Shell)暂不勾选,后续需用时可重新补充安装。
自定义安装路径
- 点击'Advanced Options',设置安装路径:
- Install Directory:建议修改为非系统盘(如 ),节省 C 盘空间。
D:\Program Files\MySQL\MySQL Server 8.0
Data Directory:保持默认(C:\ProgramData\MySQL\MySQL Server 8.0),若修改需记住路径以便后续清理。点击'Execute'开始安装,等待所有组件显示'Complete'后点击'Next'。MySQL 服务器配置(核心步骤)
安装完成后进入 Product Configuration 阶段,此步决定服务能否正常运行。
服务器类型与网络配置
- Config Type:选择
Development Computer(开发机),资源占用较少;生产环境选 Server Computer。
- Networking:
- 勾选
TCP/IP,启用远程连接支持。
- Port:默认 3306,如需修改请记录新端口。
- 勾选
Open Windows Firewall ports for network access,避免本地连接被拦截。
密码加密策略选择
MySQL 8.0 提供两种加密方式,需根据客户端兼容性选择:
- Use Strong Password Encryption (RECOMMENDED):SHA256 加密,安全性高,需确保客户端(如 Workbench、JDBC 驱动)为 8.0+ 版本。
- Use Legacy Authentication Method:传统加密,适合旧版 Navicat 等客户端。
建议:新环境优先选'强密码加密';若连接报错'加密方式不支持',可重新运行 Installer 选择'Reconfigure'修改。
root 密码设置与用户管理
- Root Account Password:设置 root 密码(如
MySQL@1234),需满足默认密码策略(至少 8 位,含大小写字母、数字、特殊字符)。
- MySQL User Accounts:可选创建普通用户(如
dev_user),分配相应角色,新手可暂不创建。
Windows 服务配置
- 勾选
Configure MySQL Server as a Windows Service,将 MySQL 注册为系统服务。
- Windows Service Name:默认
MySQL80,便于识别。
- Start the MySQL Server at System Startup:勾选开机自启动。
- Run Windows Service as:选择
Standard System Account。
数据目录权限设置
选择默认选项 Yes, grant full access to the user running the Windows Service and the administrators group only,仅服务用户和管理员有权限,安全性较高。
组件配置完成与验证
- MySQL Router:无需配置,直接 Finish。
- Samples and Examples:输入 root 密码点击'Check'验证连接,可安装示例数据库用于学习。
- 登录验证:打开 MySQL Workbench,点击'Local instance MySQL80',输入密码,显示'Connected'即表示成功。
Windows 下 MySQL 卸载步骤
若需卸载,建议通过 Installer 完整清理:
- 运行 MySQL Installer,选择'Remove'模式。
- 勾选需卸载的组件(如
MySQL Server、Workbench)。
- 勾选
Remove the data directory 删除数据目录(保留数据可取消)。
- 手动清理残留:删除安装目录(如
D:\Program Files\MySQL)和数据目录(如 C:\ProgramData\MySQL),重启电脑。
CentOS 7 系统下 MySQL 8.0.x 安装(Yum 仓库方式)
CentOS 7 推荐使用 MySQL Yum 仓库 安装,相比源码编译更简单,支持自动更新依赖,适合生产环境快速部署。
确认系统版本与 root 权限
- 切换至 root 用户:
sudo su -。
- 确认系统版本:
添加 MySQL Yum 源
- 访问 MySQL Yum 仓库下载页,下载对应 CentOS 7 的发布包:
mysql80-community-release-el7-10.noarch.rpm。
- 上传 rpm 包至服务器(可使用
rz 工具拖拽上传)。
- 安装发布包:
yum -y install mysql80-community-release-el7-10.noarch.rpm
yum repolist enabled | grep mysql.*-community
预期输出应包含 mysql-connectors-community、mysql-tools-community、mysql80-community。
选择 MySQL 发布系列
yum repolist all | grep mysql
- 若
mysql80-community 为 disabled,执行以下命令启用:
yum-config-manager --enable mysql80-community
yum-config-manager --disable mysql57-community
安装 MySQL 服务器与依赖
执行以下命令安装 MySQL 服务器及客户端依赖:
yum install mysql-community-server -y
安装过程中系统会自动下载依赖包(如 mysql-community-client),显示'Complete!'即表示成功。
MySQL 服务管理
systemctl enable mysqld
systemctl list-unit-files | grep mysqld
首次登录与临时密码获取
MySQL 8.0 首次安装后,会在错误日志中生成 root 用户的临时密码。
grep 'temporary password' /var/log/mysqld.log
密码策略调整与密码修改
默认情况下,MySQL 启用 validate_password 组件,强制密码复杂度。若需设置简单密码(如开发环境),需先调整策略。
查看当前密码策略
SHOW VARIABLES LIKE 'validate_password.policy';
SHOW VARIABLES LIKE 'validate_password.length';
调整密码策略(开发环境)
SET GLOBAL validate_password.policy = 0;
SET GLOBAL validate_password.length = 4;
EXIT;
修改 root 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
EXIT;
mysql -uroot -p123456
Ubuntu 22.04.3 LTS 系统下 MySQL 8.0.x 安装(APT 源方式)
Ubuntu 系统推荐使用 MySQL APT 源 安装,与系统包管理器兼容,流程比 CentOS 更简洁。
切换 root 用户与安装工具
添加 MySQL APT 源
- 访问 MySQL APT 源下载页,下载对应 Ubuntu 的发布包:
mysql-apt-config_0.8.26-1_all.deb。
- 上传 deb 包至服务器。
- 安装发布包:
dpkg -i mysql-apt-config_0.8.26-1_all.deb
- 配置确认:弹出配置窗口,默认已选中
MySQL Server & Cluster (mysql-8.0),按回车确认。
- 更新 APT 源缓存:
若更新提示'GPG 密钥错误',执行以下命令导入官方密钥:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
apt-get update -y
安装 MySQL Server
apt-get install mysql-server -y
- Enter root password:输入 root 密码。
- Select default authentication plugin:选择
Use Strong Password Encryption (RECOMMENDED)。
Ubuntu 下 MySQL 服务状态与自启动
systemctl list-unit-files | grep mysql
Ubuntu 下 MySQL 登录验证
若显示 information_schema、mysql、performance_schema、sys,表示安装与登录成功。
全平台安装对比与常见问题解决
三种系统安装步骤对比表
| 步骤 | Windows(Installer) | CentOS 7(Yum) | Ubuntu 22.04(APT) |
|---|
| 1. 源配置 | 无需手动配置,Installer 集成 | 需下载并安装 Yum 发布包 | 需下载并安装 APT 发布包 |
| 2. 安装命令 | 图形化点击'Execute' | yum install mysql-community-server -y | apt-get install mysql-server -y |
| 3. 服务启动 | 自动启动,支持服务面板管理 | systemctl start mysqld | 自动启动,systemctl status mysql 验证 |
| 4. 首次登录密码 | 安装时手动设置 | 从 /var/log/mysqld.log 获取临时密码 | 安装时手动设置 |
| 5. 密码策略调整 | Installer 图形化配置 | 需执行 SQL 命令修改变量 | 安装时选择加密策略,后续需 SQL 调整 |
| 6. 卸载方式 | 运行 Installer 选择'Remove' | yum remove mysql-community-server -y + 删目录 | apt-get remove mysql-server -y + 删目录 |
常见报错与解决方案
报错 1:Windows 安装时'端口 3306 被占用'
- 原因:其他程序(如 wampserver、旧 MySQL 服务)占用 3306 端口。
- 解决方案:
- 打开'命令提示符'(管理员身份),执行
netstat -ano | findstr "3306",查看占用端口的进程 PID。
- 打开'任务管理器',找到对应 PID 的进程,结束进程。
- 重新运行 Installer 继续安装。
报错 2:CentOS 登录时'Access denied for user 'root'@'localhost''
- 原因:临时密码输入错误,或密码已过期。
- 解决方案:
- 停止 MySQL 服务:
systemctl stop mysqld。
- 编辑配置文件:
vi /etc/my.cnf,在 [mysqld] 下添加 skip-grant-tables(跳过权限验证)。
- 重启服务:
systemctl start mysqld。
- 无密码登录:
mysql -uroot,执行 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';。
- 删除
my.cnf 中的 skip-grant-tables,重启服务。
报错 3:Ubuntu 远程连接时'Can't connect to MySQL server on 'IP' (111)'
- 原因:MySQL 绑定本地地址,未开放远程访问。
- 解决方案:
- 登录 MySQL:
mysql -uroot -p。
- 授权 root 远程访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;。
- 刷新权限:
FLUSH PRIVILEGES;。
- 开放 Ubuntu 防火墙 3306 端口:
ufw allow 3306/tcp。
总结与扩展建议
本文详细覆盖了 Windows、CentOS 7、Ubuntu 22.04 三种系统下 MySQL 8.0.x 的安装流程,核心要点包括:
- 环境适配:根据操作系统选择对应的安装方式(Installer/Yum/APT),避免跨方式安装导致的兼容性问题。
- 安全配置:优先启用强密码加密,设置复杂 root 密码,生产环境避免开放 root 远程访问(可创建普通用户并限制 IP)。
- 服务管理:Linux 系统需熟练使用
systemctl 命令管理服务,Windows 可通过服务面板快速启停。
扩展建议
- 学习 MySQL 基础操作:安装完成后,可通过 MySQL Workbench 练习创建数据库、表、执行 SQL 语句(如
CREATE DATABASE test_db;、CREATE TABLE user (id INT PRIMARY KEY);)。
- 配置远程连接:生产环境需开放 3306 端口(Linux 用
firewalld 或 ufw,Windows 用防火墙高级设置),并授权指定 IP 访问。
- 备份与恢复:定期使用
mysqldump 命令备份数据库(如 mysqldump -uroot -p test_db > test_db_backup.sql),避免数据丢失。
参考链接
相关免费在线工具
- SQL 美化和格式化
在线格式化和美化您的 SQL 查询(它支持各种 SQL 方言)。 在线工具,SQL 美化和格式化在线工具,online
- SQL转CSV/JSON/XML
解析 INSERT 等受限 SQL,导出为 CSV、JSON、XML、YAML、HTML 表格(见页内语法说明)。 在线工具,SQL转CSV/JSON/XML在线工具,online
- CSV 工具包
CSV 与 JSON/XML/HTML/TSV/SQL 等互转,单页多 Tab。 在线工具,CSV 工具包在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown转HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online