清晰易懂的跨平台 MySQL 安装与配置教程

本教程将手把手教你安装 MySQL 数据库,覆盖 Windows、macOS、Linux 及 Docker 容器化部署,并指出各平台常见坑点,确保安装一次成功!


一、Windows 系统安装 MySQL

1. 下载 MySQL Installer

  1. 访问官网下载页面:https://dev.mysql.com/downloads/installer/
  2. 选择 MySQL Installer for Windows(推荐下载 500MB+ 的完整安装包)。

2. 安装步骤

  1. 双击安装包 → 选择 Custom(自定义安装)。
  2. 添加以下组件:
    • MySQL Server(核心服务)
    • MySQL Workbench(图形化管理工具)
    • MySQL Shell(命令行工具)
  3. 配置 root 密码
    • 设置强密码(至少 8 位,含大小写字母+数字+符号)。
  4. 完成安装 → 打开服务管理器确认 MySQL80 服务已启动。

二、macOS 系统安装 MySQL

1. 通过 Homebrew 安装

bash 复制代码
brew install mysql

2. 启动 MySQL 服务

bash 复制代码
brew services start mysql

3. 安全初始化

bash 复制代码
mysql_secure_installation
# 按提示设置 root 密码、删除匿名用户、禁用远程 root 登录等

三、Linux 系统安装 MySQL(Ubuntu/Debian)

1. 安装 MySQL 服务

bash 复制代码
sudo apt update
sudo apt install mysql-server

2. 安全初始化

bash 复制代码
sudo mysql_secure_installation

3. 检查服务状态

bash 复制代码
systemctl status mysql

四、Docker 部署 MySQL

1. 拉取镜像

bash 复制代码
docker pull mysql:8.0

2. 启动容器

bash 复制代码
docker run -d \
  --name mysql-server \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -v /path/to/mysql-data:/var/lib/mysql \
  mysql:8.0

参数说明

  • -p 3306:3306:映射容器端口到宿主机
  • -v:持久化数据目录(避免容器删除后数据丢失)
  • -e MYSQL_ROOT_PASSWORD:设置 root 密码

3. 进入容器执行命令

bash 复制代码
docker exec -it mysql-server mysql -uroot -p

五、各平台通用验证方法

1. 命令行连接

bash 复制代码
mysql -u root -p
# 输入密码后显示 mysql> 提示符

2. 执行测试查询

sql 复制代码
SHOW DATABASES;

六、新手必看:容易忽略的细节

1. 忘记 root 密码

  • 解决方法
    1. 停止 MySQL 服务:

      bash 复制代码
      sudo systemctl stop mysql  # Linux/macOS
      # 或通过服务管理器停止 Windows 服务
    2. 启动安全模式并重置密码:

      bash 复制代码
      mysqld_safe --skip-grant-tables &
      mysql -u root
      UPDATE mysql.user SET authentication_string=PASSWORD('new_pass') WHERE User='root';
      FLUSH PRIVILEGES;

2. 远程连接被拒绝

  • 现象ERROR 1130 (HY000): Host 'xxx' is not allowed to connect
  • 解决
    1. 登录 MySQL 后执行:

      sql 复制代码
      CREATE USER 'user'@'%' IDENTIFIED BY 'password';
      GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
      FLUSH PRIVILEGES;
    2. 检查防火墙是否开放 3306 端口。


3. 字符集乱码问题

  • 现象 :中文显示为 ???

  • 解决 :修改配置文件 /etc/mysql/my.cnf(Linux/macOS)或 my.ini(Windows):

    ini 复制代码
    [mysqld]
    character-set-server=utf8mb4
    collation-server=utf8mb4_unicode_ci

4. Docker 数据持久化失败

  • 现象:容器重启后数据丢失

  • 解决 :确保启动命令中包含 -v 参数挂载数据卷:

    bash 复制代码
    -v /host/path:/var/lib/mysql

七、各平台卸载方法

Windows

  1. 控制面板 → 卸载程序 → 删除 MySQL 相关组件
  2. 手动删除 C:\Program Files\MySQLC:\ProgramData\MySQL

macOS

bash 复制代码
brew services stop mysql
brew uninstall mysql
sudo rm -rf /usr/local/mysql*

Linux

bash 复制代码
sudo apt purge mysql-server
sudo rm -rf /var/lib/mysql

Docker

bash 复制代码
docker stop mysql-server
docker rm mysql-server
docker volume prune  # 清理数据卷(谨慎操作!)

八、总结

通过本教程,你已掌握:

  1. 多平台安装 MySQL:Windows/macOS/Linux 全覆盖
  2. Docker 容器化部署:快速搭建可移植的数据库环境
  3. 核心故障排查:密码重置、远程访问、字符集配置

下一步建议

  • 学习 SQL 基础语法(SELECT/INSERT/UPDATE/DELETE
  • 使用 MySQL Workbench 进行可视化操作
  • 探索主从复制、备份恢复等高级功能

遇到问题可查阅 MySQL 官方文档 或留言交流! 🐬

相关推荐
我一定会有钱5 小时前
Linux爆音问题解决方法(隔一会会有奇怪噪音)
linux·运维·服务器
Dobby_057 小时前
【Ansible】变量与敏感数据管理:Vault加密与Facts采集详解
linux·运维·云原生·ansible
小陈永不服输7 小时前
Windows下RabbitMQ完整安装指南
windows·分布式·rabbitmq
帧栈8 小时前
开发避坑指南(29):微信昵称特殊字符存储异常修复方案
java·mysql
l_tian_tian_8 小时前
SpringClound——网关、服务保护和分布式事务
linux·服务器·前端
准女婿_8 小时前
优考试局域网系统V6.0.0版
linux·windows·用户运营
一个处女座的程序猿8 小时前
LLMs之Agent:Windows-MCP的简介、安装和使用方法、案例应用之详细攻略
windows·mcp
瓜酷月..8 小时前
MySQL的高可用+MHA
数据库·mysql
我的收藏手册9 小时前
Linux 网络命令大全
linux·服务器·网络
xx.ii9 小时前
28.Linux :通过源代码编译安装lamp
linux·运维·服务器