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 即代表成功
相关推荐
怕浪猫1 小时前
FDE 如何正确解决现场项目工程性的问题
前端·后端·ai编程
九皇叔叔1 小时前
【第二章】Redis基础入门:Redis是什么、为什么快以及核心特性详解
数据库·redis·缓存
莫陌尛.1 小时前
Docker MySQL 删表卡死、执行超时(MDL锁阻塞)问题复盘与根治方案
mysql·docker·容器
云和恩墨1 小时前
删库不跑路,回滚极速触达——zData S“旁路日志”持续保护原理深剖
数据库
GreenTea1 小时前
vLLM 与 SGLang KV Cache 底层实现机制深度调研报告
前端·后端·算法
考虑考虑1 小时前
Java实现hmacsha256加密算法
java·后端·java ee
MetaLite2 小时前
SpringBoot接口分层规范-外网网关内部服务与参数边界
java·数据库·spring boot
凤山老林2 小时前
聊聊企业级 API 安全:Spring Boot 落地 OAuth 2.1、mTLS 与接口签名防篡改
spring boot·后端·安全·oauth
林鹿3 小时前
maven属性与groovy变量对照表
后端
烽火戏诸诸诸侯3 小时前
AI 让我的独门小工具焕发第二春
后端·ai编程·vibecoding