清晰易懂的跨平台 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 官方文档 或留言交流! 🐬

相关推荐
Nebula嵌入式8 小时前
【C语言】09-深入解析main函数
linux·c语言·开发语言·嵌入式
Dxy12393102169 小时前
Linux 编译安装 Python 3.12.10(多版本共存,不破坏系统Python)
linux·运维·python
xz驱动分享10 小时前
Linux DMA 子系统学习笔记
linux·dma·rk3588·嵌入式软件
w678200711 小时前
Prisma不能优雅的支持DTO,试试Vona ORM吧
linux·运维·ubuntu
蓝斯49712 小时前
从.到实现一个Windows上的虚拟hid键盘设备
windows·单片机·计算机外设
Darkwanderor12 小时前
Linux系统编程实战项目:模拟实现shell
linux·c++
杨某不才13 小时前
如何能让Linux服务器对shell 终端 + sftp 文件传输长期保活
linux·运维·服务器
vance0413 小时前
免费Cloudflare隧道隐藏公网IP
linux·tcp/ip·github
杨云龙UP14 小时前
生产环境Oracle表空间扩容实战:使用Toad for Oracle图形界面新增Datafile(ASM+OMF)
linux·运维·数据库·oracle·表空间·asm 存储管理·toad
全栈派森14 小时前
告别大表膨胀!MySQL 冷热分离落地全过程(含 CDC 与单行锁抢占实战)
大数据·mysql