Node系列 · 数据库:MySQL 安装

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:my.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 全平台 免费开源,跨数据库
TablePlus macOS / Windows 轻量、设计感
DataGrip 全平台 JetBrains 出品

七、常见安装问题

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

八、Node 项目连接 MySQL

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

bash 复制代码
# 官方驱动
npm install mysql2

# ORM(数据驱动 & ORM 系列会展开)
npm install sequelize
javascript:db-connect.js 复制代码
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 即代表成功
相关推荐
Zane199440 分钟前
threading、multiprocessing、asyncio 到底怎么选?一张图 + 三组实测数据说清楚
后端·python
程序员cxuan1 小时前
DeepSeek 多模态深度实测,确实有东西的
人工智能·后端·程序员
sibylyue1 小时前
MariaDB / H2
数据库·mariadb
zone_z1 小时前
07 · 等待事件与 OWI 方法:从 OSW 到 BUG 的完整破案实录
linux·数据库·oracle·ffmpeg·bug·troubleshooting
evans在进步1 小时前
Spring Boot 核心机制详解:自动装配、事件监听、异步任务与请求映射
java·spring boot·后端
A.说学逗唱的Coke1 小时前
【数据库专题】ClickHouse 深度实战:从列式存储原理到 PB 级海量日志与可观测性分析
数据库·clickhouse·硬件架构
程序员cxuan1 小时前
一招让你的 Claude 被封了也能用
人工智能·后端·程序员
Zane19941 小时前
HashSet、TreeSet、LinkedHashSet:底层都是"套壳"
java·后端
sigterM先生2 小时前
Ollama + Go 搭建 AI 告警分析管道
后端·ai编程