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

相关推荐
我想吃余3 分钟前
Linux进程概念(中):进程优先级和环境变量
linux·运维·服务器
milo.qu14 分钟前
ubuntu22.04 安装Docker
linux·运维·docker
Anthony_23124 分钟前
Ansible的 Playbook 模式详解
linux·运维·服务器·ansible
郝学胜-神的一滴24 分钟前
Linux命令行的核心理念与实用指南
linux·运维·服务器·开发语言·程序人生
三天不学习33 分钟前
VMware虚拟机CentOS磁盘扩容完整指南(解决growpart报错 & LVM扩容)
linux·运维·centos
望获linux1 小时前
望获实时Linux:亚微秒级时间控制
linux·运维·服务器·计算机·fpga开发·嵌入式软件·飞腾
UrSpecial1 小时前
Linux线程同步与互斥
linux·开发语言·c++
和编程干到底2 小时前
Linux中进程和线程常用的API详解
linux·运维·服务器
小猪写代码2 小时前
Ubuntu C编程 (make工具和Makefile的引用)
linux·运维·ubuntu
肖爱Kun2 小时前
LINUX中USB驱动架构—设备驱动
linux·驱动