一、前言
MySQL 是目前最流行的开源关系型数据库管理系统之一,被广泛应用于网站后台、数据分析以及各种中小型业务系统中。
在 Ubuntu 上安装 MySQL 8.0 非常方便,但为了提高速度与安全性,建议使用国内镜像源并进行安全初始化。
本文将带你一步步完成:
-
✅ MySQL 8.0 安装
-
✅ 安全初始化与 root 密码设置
-
✅ 远程访问配置
-
✅ 防火墙放行与连接验证
二、更新系统包
在开始前,先更新系统软件包:
sudo apt update sudo apt upgrade -y
若更新速度较慢,可参考文末"附录:加速 apt update"的镜像源优化方法。
三、安装 MySQL 8.0
Ubuntu 官方软件仓库自带 MySQL 8.0,无需手动添加源。
sudo apt install mysql-server -y
安装完成后,可查看版本信息:
mysql --version
输出类似:
mysql Ver 8.0.40-0ubuntu0.22.04.1 for Linux on x86_64
四、启动 MySQL 服务并设置开机自启
sudo systemctl enable mysql sudo systemctl start mysql sudo systemctl status mysql
当状态显示 active (running)
时,说明服务启动成功。
五、执行安全初始化(强烈推荐)
MySQL 安装完成后,建议执行安全脚本对数据库进行基础加固:
sudo mysql_secure_installation
按提示完成以下步骤:
-
设置 root 密码
-
删除匿名用户
-
禁止 root 远程登录(按需选择)
-
删除测试数据库
-
重新加载权限表
六、配置 root 账号密码登录
默认情况下,Ubuntu 的 root 用户通过 auth_socket
插件登录,不需要密码。
为了方便后续管理,我们改为使用密码登录:
sudo mysql
进入 MySQL 后执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; FLUSH PRIVILEGES;
退出并验证:
mysql -u root -p
输入密码后即可登录。
七、允许远程连接(可选)
1️⃣ 修改配置文件
编辑 MySQL 主配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到如下行:
bind-address = 127.0.0.1
修改为:
bind-address = 0.0.0.0
保存后重启服务:
sudo systemctl restart mysql
2️⃣ 授权远程访问用户
进入 MySQL:
mysql -u root -p
执行以下 SQL(开放给任意主机访问):
CREATE USER 'youruser'@'%' IDENTIFIED BY 'yourpassword'; GRANT ALL PRIVILEGES ON *.* TO 'youruser'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
🔒 安全建议:
将
%
改为特定 IP 地址,例如'youruser'@'1.2.3.4'
,避免被扫描攻击。
八、开放防火墙端口
Ubuntu 默认使用 ufw
防火墙,可用以下命令开放 3306 端口:
sudo ufw allow 3306/tcp sudo ufw reload sudo ufw status
九、测试远程连接
在另一台主机上运行:
mysql -h <服务器公网IP> -u youruser -p
若能成功连接并显示 MySQL 提示符,说明远程访问配置完成 ✅。
🔧 十、(可选)使用官方 MySQL APT 源
如果系统自带的 MySQL 版本较旧,可使用 MySQL 官方源获取最新版:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.32-1_all.deb
sudo apt update
sudo apt install mysql-server -y
安装过程中可选择 MySQL 版本(默认 8.0 即可)。
🧠 十一、常见问题排查
问题 | 解决方案 |
---|---|
Can't connect to MySQL server |
检查防火墙、bind-address、用户权限 |
Access denied for user |
检查授权 IP 与密码 |
Port 3306 already in use |
修改配置文件端口号后重启 |
服务未启动 | 执行 sudo systemctl restart mysql |
查看服务日志:
sudo journalctl -u mysql -xe
💡 十二、附录:加速 apt update(国内镜像源)
若执行 sudo apt update
速度过慢,可替换为国内源:
🔹 阿里云源(推荐)
编辑源文件:
sudo nano /etc/apt/sources.list
内容(以 Ubuntu 22.04 为例):
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
保存后更新:
sudo apt clean sudo apt update
速度可从几十 KB/s 提升到数 MB/s 🚀
✅ 十三、总结
本文完整介绍了在 Ubuntu 上安装 MySQL 8.0 的步骤与注意事项:
步骤 | 内容 |
---|---|
1 | 更新系统包 |
2 | 安装 MySQL |
3 | 启动并设置开机自启 |
4 | 执行安全初始化 |
5 | 修改 root 登录方式 |
6 | 配置远程访问 |
7 | 放行防火墙端口 |
8 | 验证连接 |
📌 提示:生产环境建议只开放特定 IP 的访问权限,并启用强密码策略,避免暴露在公网中。
📚 参考命令速查表
# 启动服务
sudo systemctl start mysql
# 查看状态
sudo systemctl status mysql
# 重启服务
sudo systemctl restart mysql
# 登录 MySQL
mysql -u root -p
# 开放防火墙端口
sudo ufw allow 3306/tcp