MySQL 数据库基础:从零开始的第一步(Linux 环境 2025-2026 实用版)
目标人群:完全零基础、刚接触 Linux 的同学,想快速上手 MySQL 数据库。
我们把第一步拆成最小的可执行单元,让你今天就能看到数据库在跑、在用。
阶段 0:明确你要达到的“第一步成功”标准
- 在 Linux 上成功安装 MySQL
- 能用命令行登录 MySQL
- 能创建数据库、创建表、插入数据、查询数据
- 理解最核心的 4 个概念:数据库、表、行、列
阶段 1:Linux 上安装 MySQL(2025-2026 推荐方式)
目前最主流的两种安装路径对比(按推荐顺序):
| 方式 | 版本 | 安装命令(Ubuntu/Debian) | 优点 | 缺点 | 推荐场景 |
|---|---|---|---|---|---|
| 官方 apt 仓库(8.0/8.4) | MySQL 8.0/8.4 | 见下面脚本 | 官方维护、更新快、稳定 | 默认配置偏生产 | 大多数人首选 |
| MariaDB(10.11/11.x) | 兼容 MySQL | sudo apt install mariadb-server | 完全开源、默认配置更友好 | 部分新特性比 MySQL 晚一点 | 轻量、学习、个人服务器 |
| Snap 包 | 8.0.x | sudo snap install mysql | 安装最简单、隔离好 | 启动慢、体积大 | 极简测试 |
2025-2026 强烈推荐做法(Ubuntu/Debian 系):
# 步骤 1:更新系统 & 安装依赖
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget gnupg lsb-release
# 步骤 2:添加 MySQL 官方 apt 源(推荐 8.0,稳定且生态最全)
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
# 在弹窗中选择 "MySQL 8.0" → OK → OK
# 步骤 3:更新源并安装
sudo apt update
sudo apt install -y mysql-server
# 步骤 4:查看是否启动 & 版本
sudo systemctl status mysql
mysql --version
# 应该看到类似:mysql Ver 8.0.40-0ubuntu0.24.04.1 for Linux...
CentOS / Rocky / AlmaLinux 系(yum/dnf):
sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm
sudo dnf install -y mysql-community-server
sudo systemctl enable --now mysqld
阶段 2:首次安全初始化(非常重要!)
新装的 MySQL 8.0 默认有临时 root 密码(在日志里),但强烈建议立即运行安全脚本:
# 方式一:自动安全配置脚本(最推荐)
sudo mysql_secure_installation
会依次问你:
- 是否设置 root 密码? → 是,输入两次强密码
- 是否移除匿名用户? → 是
- 是否禁止 root 远程登录? → 是(学习阶段可以选否)
- 是否移除测试数据库? → 是
- 是否立即刷新权限? → 是
完成后,root 密码就设置好了。
阶段 3:第一次登录 & 基本操作(最关键的 10 分钟)
# 用 root 登录(本地登录不需要输入 -h)
mysql -u root -p
# 输入刚才设置的密码,回车
# 成功看到 mysql> 提示符就算第一步胜利!
在 mysql> 里面依次敲下面这些命令(一行一行敲,回车执行):
-- 1. 查看当前有哪些数据库
SHOW DATABASES;
-- 2. 创建自己的第一个数据库
CREATE DATABASE my_first_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 3. 使用它
USE my_first_db;
-- 4. 创建一张用户表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
age INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 5. 插入一条数据
INSERT INTO users (username, age) VALUES ('zhongyang', 18);
-- 6. 再插入几条
INSERT INTO users (username, age) VALUES
('xiaoming', 20),
('xiaohong', 17);
-- 7. 查询所有数据
SELECT * FROM users;
-- 8. 按年龄排序
SELECT * FROM users ORDER BY age DESC;
-- 9. 只看 id 和 username
SELECT id, username FROM users WHERE age >= 18;
-- 10. 退出
EXIT;
看到类似下面的输出就算成功:
+----+----------+------+---------------------+
| id | username | age | created_at |
+----+----------+------+---------------------+
| 1 | zhongyang| 18 | 2026-01-24 17:30:00 |
| 2 | xiaoming | 20 | 2026-01-24 17:30:05 |
| 3 | xiaohong | 17 | 2026-01-24 17:30:10 |
+----+----------+------+---------------------+
阶段 4:最常用的一组“生存命令”速记口诀
- 登录:
mysql -u root -p - 看库:
SHOW DATABASES; - 进库:
USE 库名; - 看表:
SHOW TABLES; - 看表结构:
DESCRIBE 表名;或SHOW CREATE TABLE 表名; - 创建库:
CREATE DATABASE 库名; - 创建表:
CREATE TABLE 表名 (字段 定义); - 增:
INSERT INTO 表名 VALUES (...); - 删:
DELETE FROM 表名 WHERE 条件; - 改:
UPDATE 表名 SET 字段=新值 WHERE 条件; - 查:
SELECT * FROM 表名 [WHERE ...] [ORDER BY ...];
下一步推荐学习路径(建议顺序)
- 今天:安装 + 登录 + 增删改查基础(上面内容)
- 明天:数据类型、约束(PRIMARY KEY、NOT NULL、UNIQUE、DEFAULT)
- 后天:条件查询(WHERE、AND/OR、LIKE、IN、BETWEEN)
- 第 4 天:排序、分组、聚合函数(ORDER BY、GROUP BY、COUNT、SUM、AVG)
- 第 5-7 天:表关系(外键、一对多、多对多)、JOIN(内联、左联、右联)
- 第二周:索引、事务、权限管理、备份恢复
你现在卡在哪一步?
- 安装失败(报什么错?)
- 登录不上(密码忘了?)
- 想直接用图形界面(推荐 DBeaver / MySQL Workbench / phpMyAdmin)
- 想学 Docker 版 MySQL(更干净、可删除)
直接告诉我,我给你针对性下一课~