MySQL 安装指南
MySQL 是什么?
简单来说,MySQL 就是一个"数据仓库"。想象一下:你去超市买东西,所有商品都整齐地放在货架上,你想找什么,收银员能立刻告诉你"在第几排第几层"。MySQL 就是这样,帮你把数据(用户信息、订单、商品等)整齐地存放起来,还能快速找到你想要的数据。
正是因为免费、稳定、好用,它成为了全世界最流行的数据库之一,很多网站、APP 的后台都在用它。
目录
一、下载 MySQL
1.1 官网下载
前往 MySQL 官网下载页面:
地址:https://dev.mysql.com/downloads/mysql/
提示:根据你的操作系统选择对应的安装包:
- Windows 用户:下载
.msi安装包- macOS 用户:下载
.dmg安装包- Linux 用户:可以使用包管理器(推荐)
1.2 Linux 快捷安装(推荐)
# Ubuntu / Debian 系统
sudo apt update
sudo apt install mysql-server
# CentOS / RHEL 系统
sudo yum install mysql-server
# 是什么:包管理器命令
# 为什么:自动下载并安装 MySQL,不用手动配置
# 怎么用:根据你的系统选择对应命令,直接复制执行
二、安装步骤
2.1 Windows 安装
步骤 1:双击下载的 .msi 安装包,你会看到安装向导。
步骤 2:选择安装类型
| 类型 | 说明 | 推荐场景 |
|---|---|---|
| Developer Default | 开发者默认(含开发工具) | ✅ 个人学习、开发 |
| Server only | 只安装 MySQL 服务器 | 只需要数据库服务 |
| Full | 完整安装(所有组件) | 需要全部功能 |
步骤 3:一路点击 “Next”,等待安装完成。
2.2 macOS 安装
# 使用 Homebrew 安装(如果你已安装 Homebrew)
brew install mysql
# 是什么:Homebrew 是 macOS 的包管理器
# 为什么:一条命令就能安装,不用去官网下载
# 怎么用:打开终端,复制这条命令执行
2.3 Linux 安装
# Ubuntu / Debian
sudo apt update && sudo apt install mysql-server
# 查看安装版本
mysql --version
# 输出示例:
# mysql Ver 8.0.35 for Linux on x86_64 ((Ubuntu))
# 解读:
# - Ver:MySQL 版本号(8.0.35)
# - Linux:运行的操作系统
# - x86_64:CPU 架构(64位)
三、配置 MySQL
3.1 启动 MySQL 服务
# Windows(以管理员身份运行)
net start MySQL80
# 是什么:启动 MySQL 服务
# 为什么:MySQL 必须先启动才能使用
# 怎么用:如果服务名不同,可以用 "services.msc" 查看实际服务名
# macOS
brew services start mysql
# Linux (Ubuntu/Debian)
sudo systemctl start mysql
# Linux (CentOS/RHEL)
sudo systemctl start mysqld
# 验证服务是否启动成功
sudo systemctl status mysql
# 输出示例:
# ● mysql.service - MySQL Community Server
# Loaded: loaded (/lib/systemd/system/mysql.service; enabled)
# Active: active (running) since Mon 2024-01-01 10:00:00 UTC
#
# 解读:
# - Active: active (running) = 服务正在运行 ✅
# - Active: inactive (dead) = 服务未运行 ❌
3.2 设置 root 密码
# 进入 MySQL 安全配置向导
sudo mysql_secure_installation
配置步骤:
| 步骤 | 提示内容 | 推荐选择 | 说明 |
|---|---|---|---|
| 1 | 设置 root 密码? | ✅ Yes | 设置管理员密码 |
| 2 | 密码强度验证? | 选 1(中)或 2(强) | 密码安全检查 |
| 3 | 删除匿名用户? | ✅ Yes | 更安全 |
| 4 | 禁止 root 远程登录? | ✅ Yes | 防止远程攻击 |
| 5 | 删除 test 数据库? | ✅ Yes | 测试用,不需要 |
| 6 | 重新加载权限表? | ✅ Yes | 让设置立即生效 |
3.3 登录 MySQL
# 使用 root 用户登录
mysql -u root -p
# 是什么:登录 MySQL 命令行
# 为什么:进入数据库管理界面
# 怎么用:
# -u root:指定用户名(root 是管理员)
# -p:提示输入密码
#
# 执行后会提示输入密码,输入你刚才设置的密码即可
四、验证安装
4.1 查看版本信息
mysql --version
# 输出:
# mysql Ver 8.0.35 for Win64 on x86_64 (MySQL Community Server - GPL)
# 解读:
# - 看到版本号 = 安装成功 ✅
# - 如果提示"命令未找到" = 安装失败或环境变量未配置
4.2 执行第一条 SQL 命令
-- 登录后执行
SHOW DATABASES;
-- 输出:
-- +--------------------+
-- | Database |
-- +--------------------+
-- | information_schema |
-- | mysql |
-- | performance_schema |
-- | sys |
-- +--------------------+
-- 4 rows in set (0.01 sec)
-- 解读:
-- - 这是系统自带的 4 个数据库
-- - information_schema:数据库结构信息(像建筑的蓝图)
-- - mysql:用户权限等系统信息(像门卫的登记表)
-- - performance_schema:性能监控数据(像工厂的生产报表)
-- - sys:简化版的性能视图(像工厂的每日总结报告)
-- - 能看到这些 = MySQL 安装成功且正常运行 ✅
五、常用操作
5.1 创建数据库
-- 创建一个新的数据库(仓库)
CREATE DATABASE myapp;
-- 是什么:创建一个名为 myapp 的数据库
-- 为什么:就像盖一栋新仓库,以后数据都存这里
-- 怎么用:把 myapp 改成你想要的名字
5.2 查看当前有哪些数据库
SHOW DATABASES;
-- 输出:
-- +--------------------+
-- | Database |
-- +--------------------+
-- | information_schema |
-- | myapp | ← 这是我们刚创建的
-- | mysql |
-- | performance_schema |
-- | sys |
-- +--------------------+
5.3 使用某个数据库
-- 选择要操作的数据库
USE myapp;
-- 是什么:切换到 myapp 数据库
-- 为什么:就像进入仓库的某个房间,才能操作里面的数据
-- 怎么用:USE 后面跟数据库名称
5.4 创建数据表
-- 创建一个用户表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 解读:
-- id:用户编号(自动增长,像排队时的号码牌)
-- username:用户名(最多 50 个字符,不能为空)
-- email:邮箱(最多 100 个字符,不能为空)
-- created_at:创建时间(自动记录当前时间)
5.5 退出 MySQL
EXIT;
-- 或者
\q
六、常见问题排查
问题 1:启动失败,提示"端口被占用"
现象:
Error: Can't start server: Bind on TCP/IP port: Address already in use
通俗解释:就像你要开一家新店,但门牌号已经被别人用了。MySQL 默认用 3306 号"门牌",如果别的程序占用了,MySQL 就开不了门。
排查步骤:
# 1. 查看哪个程序占用了 3306 端口
netstat -ano | findstr 3306
# Windows 输出:
# TCP 0.0.0.0:3306 0.0.0.0:0 LISTEN 1234
# 解读:
# - 最后一列 1234 是进程 ID(像身份证号)
# - 说明 PID 为 1234 的程序占用了 3306 端口
# 2. 查看这个进程是什么程序
tasklist | findstr 1234
# 输出:
# another-mysql.exe 1234 Console 1 50,000 K
# 解读:
# - 看到程序名了,可能是另一个 MySQL 实例
解决方案:
- 方案一:关闭占用的进程
# 关闭占用端口的程序
taskkill /PID 1234 /F
# 是什么:强制结束指定 PID 的进程
# 为什么:释放端口让 MySQL 使用
# 怎么用:把 1234 换成你查到的实际 PID
- 方案二:修改 MySQL 端口
打开 MySQL 配置文件(如my.cnf或my.ini),将port=3306改为其他端口(如port=3307)。
问题 2:忘记密码
现象:Access denied for user 'root'@'localhost'
通俗解释:就像你忘记了家门的钥匙,进不去家了。
解决方案:
# 1. 停止 MySQL 服务
sudo systemctl stop mysql
# 2. 以跳过权限的方式启动
sudo mysqld_safe --skip-grant-tables &
# 是什么:启动 MySQL 但不检查密码
# 为什么:让我们能进去重置密码
# 怎么用:复制执行即可
# 3. 打开新终端,登录(不需要密码)
mysql -u root
# 4. 重置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES;
# 5. 重启 MySQL
sudo systemctl restart mysql
问题 3:命令未找到 mysql
现象:
mysql: command not found
通俗解释:就像你让助手去取快递,但没告诉他在哪里取,助手找不到。
解决方案:
# Windows:添加环境变量
# 1. 右键"此电脑" → 属性 → 高级系统设置 → 环境变量
# 2. 在 Path 中添加:C:\Program Files\MySQL\MySQL Server 8.0\bin
# macOS (Homebrew)
echo 'export PATH="/opt/homebrew/opt/mysql/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# Linux (Ubuntu)
sudo apt install mysql-client
七、总结
核心要点
| 要点 | 关键操作 |
|---|---|
| 下载安装 | 官网下载或包管理器安装 |
| 启动服务 | systemctl start mysql |
| 安全配置 | mysql_secure_installation |
| 登录验证 | mysql -u root -p → SHOW DATABASES; |
黄金法则
- 先启动,后使用 - MySQL 服务必须先启动才能连接
- 设置密码 - 安装后第一件事就是设置 root 密码
- 记住端口 - 默认端口是 3306,连接时需要用到
文档版本:1.0
最后更新:2025-06-06
评论区