蛙扑下载站:安全、绿色、放心的专业下载站! 首页|最近更新|专题集合|站内导航

Ubuntu MySQL 8 安装与基础配置指南

时间:2026-10-02 09:29:10 来源:www.vaopo.com 人气:人

系统环境检查与依赖准备

在 Ubuntu 上安装 MySQL 8 之前,首先确保你的系统是最新的版本。打开终端,执行 sudo apt update && sudo apt upgrade -y 命令来更新软件包列表并升级现有软件。这一步能避免很多因为依赖冲突导致的安装失败问题。MySQL 8 对系统的内存和磁盘空间有一定要求,建议至少分配 2GB 内存和 10GB 可用磁盘空间。如果你的服务器是轻量级的 VPS,可以在安装前适当增加 Swap 分区,防止安装过程中出现内存溢出。

通过官方源安装 MySQL 8

Ubuntu 默认的 APT 源可能包含的是旧版本的 MySQL,为了获得最新稳定的 MySQL 8 社区版,推荐直接使用 Ubuntu 自带的 apt 包管理器进行安装。执行 sudo apt install mysql-server 命令,系统会自动下载并解压相关安装包。在安装过程中,终端会提示你确认是否继续,直接输入 Y 并回车即可。整个过程大约需要几分钟,具体取决于你的网络速度和服务器性能。安装完成后,MySQL 服务通常会自动启动。你可以使用 systemctl status mysql 命令查看服务状态,如果显示 active running,说明核心程序已经成功运行。

初始化安全设置脚本

刚装好的 MySQL 8 虽然能正常启动,但出于安全考虑,强烈建议运行安全配置向导。在终端输入 sudo mysql_secure_installation 命令并回车。脚本会依次询问几个关键问题。首先是验证密码插件,MySQL 8 默认启用 VALIDATE_PASSWORD_COMPONENT,如果你不需要严格的密码强度检查,可以选 N,否则选 Y 并根据提示设置密码强度等级。接下来是修改 root 用户的密码,即使你刚才没改过,这里也建议重新设定一个强密码以防万一。然后系统会询问是否移除匿名账户,输入 Y 删除这些不安全的测试账户。接着询问是否禁止 root 用户远程登录,生产环境务必选择 Y,这样可以有效防止暴力破解攻击。最后询问是否删除 test 测试数据库,同样输入 Y 清理掉多余的数据表。全部回答完毕后,脚本会自动重新加载权限表,安全加固就彻底完成了。

配置远程访问与防火墙规则

默认情况下,MySQL 8 只监听本地回环地址,外部设备无法连接。如果需要从其他电脑或应用服务器连接数据库,需要修改配置文件。使用 sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf 打开配置文件,找到 bind-address 这一行,将其值从 127.0.0.1 改为 0.0.0.0。保存退出后,重启 MySQL 服务使配置生效,命令为 sudo systemctl restart mysql。接下来处理防火墙放行问题。如果你使用的是 UFW 防火墙,执行 sudo ufw allow 3306/tcp 命令开放端口。如果是阿里云、腾讯云等云厂商的云服务器,记得去控制台的安全组规则里添加入方向 3306 端口的放行策略,否则外网依然连不上。完成这两步后,你就可以使用图形化工具尝试连接了。

创建专用数据库账户与授权

在生产环境中,直接使用 root 账号连接数据库是非常危险的做法。正确的做法是为每个项目或应用创建独立的数据库用户。先进入 MySQL 命令行界面,执行 sudo mysql 进入交互模式。接着创建一个新的数据库,比如 create database myapp_db; 然后创建用户并赋予权限,语句为 create user app_user@% identified by your_strong_password; 这里的 % 表示允许该用户从任意 IP 地址连接,你也可以指定具体的 IP 地址以提高安全性。紧接着授予该用户对特定数据库的操作权限 grant all privileges on myapp_db.* to app_user@%; 刷新权限表 flush privileges; 退出 exit;。这样设置之后,你的应用程序就可以使用新创建的账号和密码安全地访问数据库,同时限制了不必要的系统级操作风险。

常见问题排查与维护技巧

安装过程中如果遇到服务无法启动的情况,首先检查日志文件 sudo tail -n 50 /var/log/mysql/error.log,里面通常会明确写出是配置文件语法错误还是数据目录权限问题。如果发现端口被占用,可以使用 sudo netstat -tlnp | grep 3306 查看是哪个进程占用了端口,必要时结束冲突进程再重启服务。日常维护方面,建议定期执行 sudo mysqlcheck --all-databases 命令检查数据库完整性。另外,MySQL 8 默认使用 caching_sha2_password 认证插件,部分老旧的应用框架可能不支持,如果遇到连接报错,可以临时将用户认证方式切换回 mysql_native_password,具体命令为 alter user app_user@localhost identified with mysql_native_password by your_password;。掌握这些基础操作后,你就能在 Ubuntu 服务器上稳定运行 MySQL 8 数据库,并为后续的业务部署打下坚实基础。