MySQL 环境搭建

7 minBeginner

MySQL 安装、配置、启动与客户端工具使用。

1. 安装方法对比

安装方式优点缺点推荐场景
Docker部署快速、可移植性强、环境隔离需要 Docker 基础知识开发、测试环境
二进制包安装简单、性能好需要手动配置生产环境
源码编译可定制、针对硬件优化编译时间长特殊需求场景
包管理器安装便捷、自动更新版本可能不是最新快速部署

2. Docker 部署 (推荐)

Docker 部署是最便捷的方式,适合开发和测试环境:

2.1 基本 Docker 操作

 # 拉取 MySQL 镜像(推荐 8.0 或 8.4 LTS 版本)
 docker pull mysql:8.4
 # 查看本地镜像
 docker images mysql
 # 运行 MySQL 容器(基本配置)
 docker run --name mysql \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -p 3306:3306 \
  -d mysql:8.4
 # 运行带持久化的 MySQL 容器
 docker run --name mysql \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -e MYSQL_DATABASE=mydb \
  -e MYSQL_USER=user \
  -e MYSQL_PASSWORD=user_password \
  -p 3306:3306 \
  -v mysql-data:/var/lib/mysql \
  -d mysql:8.4 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
 # 查看容器状态
 docker ps
 # 查看容器日志
 docker logs mysql
 # 进入容器
 docker exec -it mysql bash
 # 在容器内连接 MySQL
 mysql -u root -p

2.2 Docker Compose 部署

创建 docker-compose.yml 文件:

version: '3.8'
services:
  mysql:
  image: mysql:8.4
  container_name: mysql
  environment:
  MYSQL_ROOT_PASSWORD: root_password
  MYSQL_DATABASE: mydb
  MYSQL_USER: dbuser
  MYSQL_PASSWORD: user_password
  ports:
    - '3306:3306'
  volumes:
    - mysql-data:/var/lib/mysql
    - ./my.cnf:/etc/mysql/conf.d/my.cnf
  command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
volumes:
  mysql-data:

启动命令:

 docker-compose up -d

2.3 生产环境 Docker 配置

 # 生产环境推荐配置
 docker run --name mysql \
  --restart=always \
  -e MYSQL_ROOT_PASSWORD=complex_password \
  -e MYSQL_DATABASE=production_db \
  -e MYSQL_USER=app_user \
  -e MYSQL_PASSWORD=app_password \
  -p 3306:3306 \
  -v /host/path/mysql/data:/var/lib/mysql \
  -v /host/path/mysql/conf.d:/etc/mysql/conf.d \
  -d mysql:8.4 \
  --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_unicode_ci \
  --max-connections=500 \
  --innodb-buffer-pool-size=2G

3. Windows 安装

3.1 使用 MySQL Installer 安装

  1. 下载安装包:从 MySQL 官网 下载 MySQL Installer
  2. 运行安装程序
  • 选择 “Developer Default” 适合开发环境(包含 MySQL Server、Workbench、Visual Studio 插件等)
  • 选择 “Server Only” 适合生产环境
  • 选择 “Custom” 可自定义选择组件
  1. 配置 MySQL
 - 设置 root 密码(务必设置强密码)
 - 配置端口(默认 3306,建议在有冲突时修改)
 - 选择服务启动方式(自动启动/手动启动)
 - 配置高级选项(日志文件路径、字符集等)
  1. 完成安装:按照向导完成安装和配置
  2. 验证安装
 # 打开命令提示符
 mysql -u root -p
 # 查看版本
 mysql --version

3.2 使用压缩包手动安装

  1. 下载压缩包:从官网下载 mysql-8.4.x-winx64.zip
  2. 解压到指定目录:如 C:\mysql
  3. 创建配置文件 my.ini
 [mysqld]
 # 设置端口
 port=3306
 # 设置安装目录
 basedir=C:\mysql
 # 设置数据目录
 datadir=C:\mysql\data
 # 字符集
 character-set-server=utf8mb4
 collation-server=utf8mb4_unicode_ci
 [client]
 port=3306
  1. 初始化数据库
 cd C:\mysql\bin
 mysqld --initialize --console
  1. 安装服务
 mysqld --install MySQL --defaults-file=C:\mysql\my.ini
  1. 启动服务
 net start MySQL

4. Linux 安装

4.1 Ubuntu/Debian 安装

 # 更新包列表
 sudo apt update
 # 安装 MySQL 服务器
 sudo apt install mysql-server -y
 # 安全配置(设置 root 密码、移除匿名用户等)
 sudo mysql_secure_installation
 # 启动服务
 sudo systemctl start mysql
 sudo systemctl enable mysql
 # 检查服务状态
 sudo systemctl status mysql
 # 验证安装
 sudo mysql -u root

4.2 CentOS/RHEL 安装

 # 安装 MySQL 仓库
 sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
 # 安装 MySQL 服务器
 sudo yum install -y mysql-community-server
 # 启动服务
 sudo systemctl start mysqld
 sudo systemctl enable mysqld
 # 获取临时密码
 sudo grep 'temporary password' /var/log/mysqld.log
 # 安全配置
 sudo mysql_secure_installation
 # 验证安装
 mysql -u root -p

4.3 Docker 方式(各 Linux 通用)

 # 安装 Docker(如果未安装)
 curl -fsSL https://get.docker.com | sh
 # 拉取并运行 MySQL
 docker run -d \
  --name mysql \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -p 3306:3306 \
  -v /opt/mysql/data:/var/lib/mysql \
  mysql:8.4

5. macOS 安装

5.1 使用 Homebrew 安装

 # 如果未安装 Homebrew,先安装
 /
 # 更新 Homebrew
 brew update
 # 安装 MySQL
 brew install mysql
 # 启动 MySQL 服务
 brew services start mysql
 # 安全配置
 mysql_secure_installation
 # 连接 MySQL
 mysql -u root

5.2 使用 DMG 安装包

  1. MySQL 官网 下载 macOS DMG 安装包
  2. 双击打开 DMG 文件
  3. 运行 MySQL 安装程序
  4. 完成安装向导
  5. 通过系统偏好设置启动 MySQL

6. 环境变量配置

6.1 Windows 配置

  1. 右键 “此电脑” → “属性” → “高级系统设置” → “环境变量”
  2. 在 “系统变量” 中找到 “Path”,点击 “编辑”
  3. 添加 MySQL 安装目录的 bin 文件夹路径:
  • 如果使用 MySQL Installer:C:\Program Files\MySQL\MySQL Server 8.4\bin
  • 如果使用压缩包:C:\mysql\bin
  1. 点击 “确定” 保存配置
  2. 重启命令行窗口使配置生效
  3. 验证配置:
 mysql --version

6.2 Linux/macOS 配置

 # 编辑环境变量文件
 sudo nano /etc/profile # 全局配置
 # 或
 nano ~/.bashrc # 用户级配置
 # 在文件末尾添加(根据实际安装路径)
 export PATH=$PATH:/usr/bin/mysql
 # 或
 export PATH=$PATH:/usr/local/mysql/bin
 # 使配置生效
 source /etc/profile # 全局配置
 # 或
 source ~/.bashrc # 用户级配置
 # 验证配置
 mysql --version

7. MySQL 配置文件详解

7.1 配置文件位置

操作系统配置文件位置
Windowsmy.ini(MySQL 安装目录或 C:\Windows
Linux/etc/mysql/my.cnf/etc/my.cnf
macOS/usr/local/etc/my.cnf~/.my.cnf

7.2 配置文件结构

 [mysqld] # 服务器端配置
 port=3306
 basedir=/usr/local/mysql
 datadir=/var/lib/mysql
 character-set-server=utf8mb4
 collation-server=utf8mb4_unicode_ci
 max_connections=200
 [mysql] # 客户端配置
 default-character-set=utf8mb4
 [client] # 客户端连接配置
 port=3306
 host=localhost

7.3 常用配置参数

 [mysqld]
 # 基础配置
 port=3306
 bind-address=0.0.0.0
 # 字符集配置
 character-set-server=utf8mb4
 collation-server=utf8mb4_unicode_ci
 # InnoDB 配置
 innodb_buffer_pool_size=1G # 建议为服务器内存的 70-80%
 innodb_log_file_size=256M
 innodb_flush_log_at_trx_commit=1
 # 连接配置
 max_connections=200
 wait_timeout=600
 interactive_timeout=600
 # 日志配置
 slow_query_log=1
 slow_query_log_file=/var/log/mysql/slow.log
 long_query_time=2
 # 字符集
 character-set-server=utf8mb4

8. 管理工具

8.1 命令行工具详解

工具功能使用示例
mysql官方命令行客户端mysql -u root -p
mysqldump数据备份工具mysqldump -u root -p database_name > backup.sql
mysqladmin管理工具mysqladmin -u root -p status
mysqlimport数据导入工具mysqlimport -u root -p database_name data.txt
mysqldMySQL 服务器进程mysqld --defaults-file=/etc/my.cnf
mysqlcheck检查表和修复mysqlcheck -u root -p --auto-repair database_name
mysqlbinlog查看二进制日志mysqlbinlog mysql-bin.000001

8.2 mysqldump 备份示例

 # 备份单个数据库
 mysqldump -u root -p database_name > backup.sql
 # 备份多个数据库
 mysqldump -u root -p --databases db1 db2 > backup.sql
 # 备份所有数据库
 mysqldump -u root -p --all-databases > all_databases_backup.sql
 # 备份表结构(不包含数据)
 mysqldump -u root -p --no-data database_name > structure_only.sql
 # 备份数据(不包含表结构)
 mysqldump -u root -p --no-create-info database_name > data_only.sql
 # 压缩备份
 mysqldump -u root -p database_name | gzip > backup.sql.gz
 # 恢复数据库
 mysql -u root -p database_name < backup.sql

8.3 GUI 工具对比

工具特点适用场景价格
MySQL Workbench官方 GUI 工具,EER建模、SQL开发、服务器管理开发、管理、设计数据库免费
DBeaver开源跨平台,支持多种数据库,社区活跃多数据库管理、SQL 开发免费
Navicat商业工具,界面友好,功能强大,性能优秀企业级数据库管理付费
phpMyAdminWeb 界面,适合远程管理,无需安装客户端远程管理、简单操作免费
HeidiSQL轻量级 Windows 工具,开源Windows 环境下的数据库管理免费
Sequel PromacOS 专用工具,轻量快速macOS 环境下的数据库管理免费
DataGripJetBrains 出品,强大的数据库 IDE专业开发、复杂查询付费

更新日志 (Changelog)

  • 2026-05-27: 拆分为独立文件,添加元数据,版本升级至 v1.0.0
  • 2026-04-30: 大幅细化内容,添加安装配置详细步骤、Docker Compose 部署、管理工具对比等
  • 2026-04-05: 整合 MySQL 环境配置