Linux(Ubuntu)下 MySQL 服务器安装与配置完整教程
目录
Q1:安装时提示 Unable to locate package mysql-server
Q2:远程连接失败,提示 Host 'xxx' is not allowed to connect
前言
MySQL 作为最流行的开源关系型数据库之一,在后端开发、运维工作中几乎是必备技能。本文将以 Ubuntu 系统为例,从零开始带你完成 MySQL 的安装、配置、登录验证以及卸载全流程,每一步都附带详细命令和说明,新手也能轻松上手。
适用系统:Ubuntu 18.04 / 20.04 / 22.04 及以上版本
MySQL版本:8.0+(官方源安装)
一、安装前的环境检查
在安装之前,先确认系统环境,避免与已有 MySQL 版本冲突。
1.1 查看系统版本
lsb_release -a
1.2 检查是否已安装 MySQL
# 检查是否有 MySQL 进程在运行
ps -ef | grep mysql
# 检查是否已安装 MySQL 相关包
dpkg -l | grep mysql
如果已有旧版本,建议先卸载干净再重新安装(卸载方法见文末第六节)。
二、添加 MySQL 官方 APT 源
Ubuntu 默认源中的 MySQL 版本可能不是最新的,推荐使用官方源安装。
2.1 下载官方源配置包
访问 MySQL 官方 APT 存储库页面 下载对应版本的 .deb 包,或直接使用命令下载:
# 截止发文最新版
wget https://dev.mysql.com/get/mysql-apt-config_0.8.39-1_all.deb
注意:版本号可能会更新,请到官网确认最新版本号。
2.2 安装源配置包
sudo dpkg -i mysql-apt-config_0.8.39-1_all.deb
执行后会弹出图形化配置界面:

图像化配置页面
- MySQL Server & Cluster:选择要安装的 MySQL 版本(默认即可)
- MySQL Connectors:保持默认
- 最后选择 OK 确认
2.3 更新软件包列表
sudo apt update && sudo apt-get update
三、安装 MySQL 服务器
3.1 执行安装命令
sudo apt-get install mysql-server -y
3.2 安装过程中的配置
安装过程中会依次弹出以下配置项:
- 设置 root 用户密码:输入你想设置的 root 密码(例如:
123456,生产环境请设置强密码) - 确认密码:再次输入相同密码

确认管理员登录密码界面
四、验证安装结果
4.1 检查服务状态
systemctl status mysql
看到 active (running) 说明安装成功、服务已启动。

服务状态界面
4.2 检查端口监听
MySQL 默认监听 3306 端口:
ss -nltp | grep 3306
4.3 设置开机自启动
# 开启开机自启
sudo systemctl enable mysql
# 验证自启状态
systemctl list-unit-files | grep mysql
看到 mysql.service enabled 即为设置成功。
一般默认开机自启,4.1 检查服务状态有两个 enabled 就是默认开启开机自启了。
五、登录 MySQL
5.1 使用 root 用户登录
mysql -uroot -p
回车后输入安装时设置的密码,即可进入 MySQL 命令行界面。
5.2 常用基础命令
进入 MySQL 后,可以执行以下命令验证:
-- 查看所有数据库
show databases;
-- 查看当前 MySQL 版本
select version();
-- 查看帮助
\h
-- 退出 MySQL
exit;
六、MySQL 基础配置优化
MySQL 的主配置文件位于:/etc/mysql/mysql.conf.d/mysqld.cnf
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
6.1 常用配置项
在 [mysqld] 段落下添加或修改以下配置:
# 监听端口(默认3306)
port = 3306
# 设置默认字符集为 UTF-8,防止中文乱码
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 默认存储引擎(InnoDB 支持事务和外键)
default-storage-engine = INNODB
# 最大连接数(根据服务器性能调整)
max_connections = 200
# 允许远程访问(如不需要远程连接可注释掉)
# bind-address = 0.0.0.0
注意:
utf8mb4是 MySQL 8.0 推荐的字符集,支持完整的 Unicode 包括 emoji 表情,比传统的utf8更完善。
6.2 重启服务使配置生效
sudo systemctl restart mysql
6.3 免密码登录(仅本地调试用,生产环境禁用)
如果忘记 root 密码或本地调试需要跳过验证,可以在配置文件中添加:
skip-grant-tables
保存后重启 MySQL,登录时直接按回车即可跳过密码验证。
重要提醒:开启
skip-grant-tables后,任何人都能无密码登录数据库,生产环境绝对禁止使用,调试完毕后务必删除该配置并重启服务。
七、彻底卸载 MySQL
如需重装或清理环境,按以下步骤操作:
7.1 卸载软件包
sudo apt-get remove --purge mysql-server mysql-client mysql-common -y
sudo apt-get autoremove -y
sudo apt-get autoclean
7.2 删除残留数据和配置
sudo rm -rf /etc/mysql
sudo rm -rf /var/lib/mysql
sudo rm -rf /var/log/mysql
7.3 重新安装(可选)
如果只是想换版本重装,卸载后重新执行第二、三节的安装步骤即可。
如需更换 MySQL 版本,也可以重新配置源:
sudo dpkg-reconfigure mysql-apt-config
八、常见问题与踩坑记录
Q1:安装时提示 Unable to locate package mysql-server
原因:没有添加官方源或源未更新。
解决:重新执行 sudo apt-get update,确认官方源配置包安装成功。
Q2:远程连接失败,提示 Host 'xxx' is not allowed to connect
原因:root 用户默认只允许本地登录。
解决:登录 MySQL 后执行授权命令:
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
同时确认配置文件中 bind-address 已改为 0.0.0.0,且服务器防火墙开放了 3306 端口。
Q3:忘记 root 密码怎么办?
参考第六节的 skip-grant-tables 方法,免密登录后重置密码:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;
改完记得删除配置文件中的 skip-grant-tables 并重启服务。
总结
以上就是 Ubuntu 环境下 MySQL 从安装、配置到卸载的完整流程。整体步骤可以归纳为:
- 环境检查 → 确认系统版本、无旧版本冲突
- 添加官方源 → 保证安装的是最新稳定版
- 执行安装 → 设置 root 密码和加密方式
- 验证服务 → 检查运行状态、端口、开机自启
- 配置优化 → 字符集、连接数、远程访问等
- 问题排查 → 常见报错的解决方案
如果本文对你有帮助,欢迎点赞收藏~有任何问题欢迎在评论区交流!
更多推荐




所有评论(0)