在 Linux 服务器上部署 MySQL 8 是搭建 Web 应用或数据服务的基础步骤。相比旧版本,MySQL 8 在性能、安全和平铺 JSON 支持上有显著提升,但初始配置也略有变化。本教程以主流的 CentOS 和 Ubuntu 系统为例,用最直白的方式带你完成从下载到启动的全过程,避开常见坑点。
安装前的环境准备
操作前请确保你拥有服务器的 root 权限或 sudo 权限,并且系统已联网。MySQL 8 对内核版本有一定要求,建议系统为 CentOS 7 以上或 Ubuntu 18.04 以上。如果之前装过 MariaDB 或其他数据库,建议先备份数据并卸载旧版本,避免端口冲突。直接使用 yum 或 apt 命令清理残留即可,不需要手动删除配置文件。
通过官方源安装数据库
推荐使用包管理器直接安装,这样能自动处理依赖关系。CentOS 用户执行 curl 下载官方仓库配置后,使用 yum install mysql-server 命令拉取软件包。Ubuntu 用户则可以直接运行 apt update 更新索引,接着用 apt install mysql-server 安装。整个过程会自动下载二进制文件和基础配置,无需手动编译,节省大量时间。安装完成后,系统会生成默认的数据目录和日志文件。
启动服务与设置开机自启
安装完毕后,MySQL 不会立刻运行。需要执行 systemctl start mysqld 命令启动守护进程。为了方便日常管理,务必加上 systemctl enable mysqld 设置开机自启,防止服务器重启后数据库丢失连接。启动成功后,输入 systemctl status mysqld 查看状态,显示 active running 且无报错即可。此时可以登录测试,但首次进入需要获取临时密码。
初始化安全配置
MySQL 8 首次启动时会在日志中生成一个随机临时密码。找到该密码后,运行 mysql_secure_installation 脚本进行安全加固。脚本会引导你修改 root 密码、移除匿名账户、禁止远程登录 root 以及删除测试数据库。这一步非常关键,能大幅降低被暴力破解的风险。按照提示输入 Y 确认即可,全程交互式操作,逻辑清晰。
防火墙放行与远程连接配置
默认情况下 MySQL 只监听本地回环地址。如果需要从其他机器访问,需调整网络策略。CentOS 使用 firewall-cmd --add-port=3306/tcp --permanent 开放端口,然后 reload 生效。Ubuntu 使用 ufw allow 3306/tcp。注意,出于安全考虑,不建议直接将 root 账号暴露给外网。创建专用业务账号并赋予特定库的权限,是更稳妥的做法。
常见问题与排错指南
安装后遇到登录失败,多数是因为认证插件变更。MySQL 8 默认使用 caching_sha2_password,部分老旧客户端不支持。可在配置文件中将 default_authentication_plugin 改为 mysql_native_password 兼容模式。另外,中文乱码问题通常源于字符集未统一,建议在 my.cnf 或 mysqld.cnf 中明确指定 utf8mb4 作为默认字符集和排序规则,重启服务后新建的表即可正常显示中文。
完成上述步骤后,你的 MySQL 8 实例已经可以稳定运行。定期备份数据、监控慢查询日志,能让数据库长期保持高效状态。遇到问题先看错误日志,路径通常在/var/log/mysqld.log,里面会有详细的故障原因记录。



