【Linux命令饲养指南】Ubuntu 安装 MySQL【AI辅助实现】
声明:由于本人经常记混 Linux 软件安装和卸载命令,本文相关步骤是在 AI 辅助下整理完成,仅供参考。
一、APT 是啥?它和 yum 是兄弟
- APT(Advanced Package Tool):Ubuntu/Debian 的包管理器,自动解决依赖、从网络仓库下载、安装软件。
- 底层工具是
dpkg(处理.deb包),APT 是“智能前台”。 - 类似 CentOS 的 yum/dnf。
二、安装 MySQL:一步一步来
第 0 步:为什么命令前面要加 sudo?
Ubuntu 默认 root 用户没有密码(被锁定),普通用户没有安装软件的权限。sudo 意思是“以 root 身份执行这条命令”。
系统会问你当前用户的密码,验证通过后临时获得 root 权限。
第 1 步:sudo apt update —— 刷新软件源列表
sudo apt update
参数拆解:
sudo:提权apt:包管理器update:更新本地软件源元数据(不是升级软件)

如果你不跑 apt update 直接安装会怎样?
- 本地元数据是旧的,可能安装到过时的版本(比如源里已经更新到 MySQL 8.0.36,你还装 8.0.32)
- 或者源里已经删除了旧版本,APT 根据旧缓存找文件,报
404 Not Found - 依赖信息也是旧的,可能装到一半提示缺少某个库,但其实新版本已经不需要了
一句话:不 update,你可能装不上,或者装上的是有 bug 的老版本。
第 2 步:sudo apt install mysql-server —— 安装 MySQL
sudo apt install mysql-server

如果你想跳过“是否继续”的确认,加 -y:
sudo apt install -y mysql-server
参数拆解:
install:安装一个或多个软件包mysql-server:包名(MySQL 服务器端)-y(--yes):对所有交互式提问自动回答yes,比如问“占用 150MB 磁盘,继续吗?”
这步做了什么?(重要)
- 依赖解析:APT 查找
mysql-server的元数据,发现它依赖mysql-client-8.0、mysql-common、libaio1、libc6等。递归找出所有依赖,形成一个安装列表。 - 下载:从软件源把这些
.deb包下载到/var/cache/apt/archives/(缓存目录)。 - 安装:调用
dpkg -i依次安装每个.deb包。安装过程中会执行预配置脚本(比如创建mysql系统用户、初始化数据目录)。 - 注册:将安装信息记录到
/var/lib/dpkg/status(已安装软件数据库)。 - 启动服务:MySQL 安装完成后自动启动(通过 systemd),命令:
systemctl start mysql,并设置开机自启。
安装过程中你会看到类似输出:
Reading package lists... Done
Building dependency tree... Done
The following additional packages will be installed:
mysql-client-8.0 mysql-common libaio1 ...
...
Do you want to continue? [Y/n] y # 加了 -y 就不会问
...
Setting up mysql-server-8.0 (8.0.36-0ubuntu0.22.04.1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.
装完后检查:systemctl status mysql 应该是 active (running)。
三、安装的软件到底放到哪儿了?我能自己选目录吗?
1. 能不能自己指定安装目录(比如 /home/myapp/mysql)?
不能。
APT 作为包管理器,遵循 Linux 文件系统层次标准(FHS)。它会自动把不同文件放到系统预定义的目录里。这样做的好处:
- 所有软件的命令都在
/usr/bin或/usr/sbin,$PATH环境变量统一,你敲mysql就能运行,不用手动加路径 - 配置文件都在
/etc,一目了然 - 服务脚本统一在
/lib/systemd/system,用systemctl统一管理
如果你非要自己指定安装目录:那就别用 APT,去官网下载源码或二进制包,手动解压到你想放的目录(比如 /opt/mysql),然后自己配置 PATH 和服务。但那属于“高级玩法”,更新、卸载都很麻烦,不推荐新手。
2. APT 安装 MySQL 后,具体文件分布(完整清单)
| 文件类型 | 路径 | 说明 |
|---|---|---|
| 可执行命令(客户端工具) | /usr/bin/mysql/usr/bin/mysqldump/usr/bin/mysqladmin |
你敲的 mysql 等命令放这里 |
| 服务器程序 | /usr/sbin/mysqld |
服务端守护进程(通常不需要直接执行) |
| 配置文件 | /etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf |
主配置和子配置 |
| 数据目录(你的数据库文件) | /var/lib/mysql/ |
最重要! 每个数据库一个子目录,表文件、ibdata等 |
| 日志文件 | /var/log/mysql/error.log/var/log/mysql/mysql.log |
错误日志、查询日志 |
| systemd 服务单元 | /lib/systemd/system/mysql.service |
用于 systemctl start/stop mysql |
| 运行时文件(PID、socket) | /var/run/mysqld/ |
进程ID文件、socket文件(重启后消失) |
| 文档/版权 | /usr/share/doc/mysql-server/ |
帮助文档、版权信息 |
3. 怎么查某个包安装的所有文件?
dpkg -L mysql-server

输出会列出所有该包安装的文件路径(一行一个)。
反查:想知道 /usr/bin/mysql 属于哪个包?
dpkg -S /usr/bin/mysql

四、卸载 MySQL:remove vs purge,以及残留
1. apt remove —— 卸载程序,保留配置和数据
sudo apt remove mysql-server
# 或自动确认
sudo apt remove -y mysql-server
做了什么?
- 删除
/usr/bin/mysql、/usr/sbin/mysqld等程序文件 - 保留
/etc/mysql/下的配置文件 - 保留
/var/lib/mysql/下的数据库数据(你的表、记录都在) - 保留
/var/log/mysql/下的日志文件(但不再写入新日志) - 停止服务并禁用开机自启
适用场景:你想暂时禁用 MySQL,或者重装但保留现有数据库和配置。
2. apt purge —— 卸载 + 删配置 + 删数据
sudo apt purge mysql-server
# 或
sudo apt purge -y mysql-server
做了什么?
- 删除程序文件
- 删除
/etc/mysql/配置文件 - 删除
/var/lib/mysql/数据目录(数据全丢!) - 日志文件
/var/log/mysql/通常不会自动删除(APT 不删日志,需要手动清理)
⚠️ 警告:purge 会删掉所有数据库!如果有重要数据,先备份(mysqldump)。
3. 卸载后,残留文件清单(手工清理用)
即使 purge,也可能留下一些空目录或日志文件。下面是 MySQL 相关的所有路径及残留情况:
| 路径 | remove 后 |
purge 后 |
是否需要手动清理 |
|---|---|---|---|
/etc/mysql/ |
保留 | 删除 | purge 已删,无需 |
/var/lib/mysql/ |
保留 | 删除 | purge 已删,无需 |
/var/log/mysql/ |
保留(旧日志) | 保留(旧日志) | 可选,sudo rm -rf /var/log/mysql |
/var/run/mysqld/ |
空目录残留 | 空目录残留 | 无影响,重启后消失 |
/tmp/mysql.sock(如果有) |
可能残留 | 可能残留 | 重启后消失 |
彻底清理所有残留的命令(卸载后执行):其中更多操作老铁们可以自行查询AI
# 1. 卸载 MySQL 主服务、客户端、公共配置文件(彻底删除包+配置)
sudo apt purge mysql-server mysql-client mysql-common -y
# 2. 卸载 MySQL 底层核心二进制包(解决残留无法删除的问题)
sudo apt purge mysql-client-core-8.0 mysql-server-core-8.0 -y
# 3. 自动清理无用依赖与残留包(系统级大扫除)
sudo apt autoremove -y
# 4. 强制删除 MySQL 数据目录(防止数据残留)
sudo rm -rf /var/lib/mysql
# 5. 强制删除 MySQL 配置目录(防止配置残留)
sudo rm -rf /etc/mysql
# 6. 强制删除 MySQL 日志目录(彻底无残留)
sudo rm -rf /var/log/mysql
4. 卸载后如何确认已经干净?
dpkg -l | grep mysql # 看是否还有 mysql 相关的包(行首是 ii 表示已安装,rc 表示残留配置)
ls /etc/mysql # 看配置目录是否还在
ls /var/lib/mysql # 看数据目录是否还在
五、常用 APT 命令及参数大全(MySQL 示例)
| 命令 | 参数含义 | 示例 |
|---|---|---|
sudo apt update |
更新软件源元数据 | 必须先做 |
sudo apt install mysql-server |
安装 MySQL | - |
sudo apt install -y mysql-server |
-y 自动确认 |
省去敲 y |
sudo apt remove mysql-server |
卸载但保留配置/数据 | - |
sudo apt purge mysql-server |
彻底卸载(删配置+数据) | - |
sudo apt autoremove |
删除不再需要的依赖包 | 卸载后运行,清理孤儿包 |
sudo apt clean |
清理 /var/cache/apt/archives/ 下的 .deb 缓存 |
释放磁盘空间 |
dpkg -L mysql-server |
列出该包安装的所有文件 | 查文件位置 |
dpkg -S /usr/bin/mysql |
反查文件属于哪个包 | 找谁安装了它 |
六、最后总结
- 安装前先
sudo apt update,否则可能装不上或装老版本。 - 安装目录不能自己选,APT 按 Linux 规矩自动分发:命令放
/usr/bin,配置放/etc,数据放/var/lib,日志放/var/log。 - 用
dpkg -L 包名查文件位置。 - 卸载:
remove留配置/数据,purge连锅端(数据全丢!)。 - 残留清理:
purge后手动删/var/log/mysql(日志)。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)