Skip to content

Node系列 · 数据库:MySQL 安装

MySQL 是世界上最流行的开源关系型数据库。本章以 MySQL 8.0 为例,覆盖三个主流平台的安装、服务管理、客户端连接和默认编码配置——后续所有 SQL 示例都在这个环境上跑。

一、MySQL 特点

维度说明
类型关系型数据库(RDBMS)
厂商瑞典 MySQL AB → 已被 Oracle 收购
授权社区版(GPL,免费) + 商业版
性能轻量、快速、单表千万级无压力
适用Web 应用、中小型业务系统首选

二、下载

渠道地址
官方dev.mysql.com/downloads
国内镜像腾讯软件中心:https://pc.qq.com/detail/3/detail_1303.html
集成包phpStudy / XAMPP(适合本地开发)

TIP

生产环境不要用集成包——它们把 MySQL / Apache / PHP 揉在一起,不易升级、不利隔离。

三、Windows 安装

3.1 下载 MSI 安装包

到官网下载 mysql-installer-community-8.0.xx.msi,双击运行。选择 Custom 自定义安装,至少勾选:

  • MySQL Server
  • MySQL Workbench(图形客户端)
  • MySQL Shell(命令行客户端)

3.2 配置类型

安装过程中会让选择:

  • Server Configuration Type
    • Development Computer(开发机,资源占用少)
    • Server Computer(推荐)
    • Dedicated Computer(专用数据库服务器)
  • Authentication Method:选第一个(强密码)即可
  • Root 密码:设一个并记住,丢了要重置
  • Windows Service Name:默认 MySQL80

3.3 配置 my.ini 默认编码

MySQL 8.0 默认 utf8mb4(完整 UTF-8 支持 emoji),通常不需要改。如果发现中文乱码,检查:

text
C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
C:\Program Files\MySQL\MySQL Server 8.0\my.ini
ini
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

[client]
default-character-set=utf8mb4

修改后重启服务生效。

3.4 服务管理

bash
# 启动 / 停止 / 重启 MySQL80 服务
net stop mysql80
net start mysql80

# 或在「服务」管理面板里操作
services.msc

四、Linux 安装(Ubuntu/Debian)

bash
# 1. 下载官方 deb 包
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb

# 2. 更新源 + 安装
sudo apt update
sudo apt install mysql-server

# 3. 服务管理(systemd)
sudo systemctl start mysql
sudo systemctl enable mysql    # 开机自启
sudo systemctl status mysql   # 查看状态

五、macOS 安装

bash
# 用 Homebrew
brew install mysql

# 启动
brew services start mysql

# 或临时前台启动
mysql.server start

六、客户端连接

6.1 命令行客户端

bash
# 连接本地 MySQL
mysql -u root -p
# 输入密码后进入交互式 shell

# 连接远程
mysql -h 192.168.1.100 -P 3306 -u root -p

# 指定数据库
mysql -u root -p mydb

6.2 连接成功后的验证

sql
-- 查看版本
SELECT VERSION();
-- 8.0.xx

-- 查看所有数据库
SHOW DATABASES;

-- 查看字符集
SHOW VARIABLES LIKE 'character_set_%';

-- 退出
EXIT;

6.3 图形客户端推荐

客户端平台特点
MySQL Workbench全平台官方出品,功能完整
Navicat全平台商业软件,体验最好
DBeaver全平台免费开源,跨数据库
TablePlusmacOS / Windows轻量、设计感
DataGrip全平台JetBrains 出品

七、常见安装问题

问题解决
Access denied for user 'root'密码错;用 --skip-grant-tables 重置
安装后 mysql 命令找不到没加到 PATH;Windows 重启终端,Linux/macOS 检查 /usr/local/mysql/bin
3306 端口被占用netstat -ano | findstr :3306(Win)/ lsof -i :3306(macOS)
服务起不来检查 my.ini 路径与权限;查看错误日志 data/<hostname>.err

八、Node 项目连接 MySQL

安装好 MySQL 后,Node 项目最常用两个驱动:

bash
# 官方驱动
npm install mysql2

# ORM(数据驱动 & ORM 系列会展开)
npm install sequelize
javascript
const mysql = require('mysql2/promise');

const pool = mysql.createPool({
  host: '127.0.0.1',
  port: 3306,
  user: 'root',
  password: 'your-password',
  database: 'myapp',
  waitForConnections: true,
  connectionLimit: 10,
});

// 使用
const [rows] = await pool.query('SELECT * FROM users WHERE id = ?', [1]);
console.log(rows);

九、小结

  • MySQL 8.0 是当前主流版本;社区版免费、生产可用
  • Windows 装 MSI,Linux 装官方 deb,macOS 用 Homebrew
  • 关键配置:默认编码 utf8mb4、服务名 MySQL80、root 密码必设
  • Node 端最常用 mysql2(驱动)或 Sequelize(ORM)
  • 安装完用 mysql -uroot -p 验证能进交互式 shell 即代表成功