MySQL环境安装详细教程(Windows/macOS/Linux)

摘要:本文详细介绍了在Windows、macOS和Linux三大操作系统下安装MySQL数据库的完整流程,帮助开发者快速搭建本地MySQL环境。

一、MySQL安装前准备

  1. 官网下载

    访问MySQL官网 → 选择"Downloads" → 选择"MySQL Community (GPL) Downloads"

  2. 版本选择建议

    • 新手推荐:MySQL 8.0(最新稳定版)

    • 企业兼容:根据需求选择5.7版本

    • 系统对应:

      • Windows选择.msi安装包

      • macOS选择.dmg文件

      • Linux选择对应发行版的Repository

二、Windows系统安装步骤

1. 安装程序

  1. 双击下载的.msi文件

  2. 选择安装类型:

    • Developer Default:默认开发配置

    • Server only:仅安装服务器

    • Custom:自定义安装(推荐)

  3. 选择安装组件:

    • MySQL Server

    • MySQL Workbench(可视化工具)

    • MySQL Shell

2. 配置向导

  1. 选择配置类型:

    • Development Computer(开发环境)

    • Server Computer(生产环境)

    • Dedicated Computer(专用MySQL服务器)

  2. 设置root密码:

    复制代码
    MySQL Root Password: ********
    Repeat Password: ********
  1. 配置Windows服务:

    • 服务名默认MySQL80

    • 建议勾选"Start the MySQL Server at System Startup"

3. 配置环境变量

  1. 右键"此电脑" → 属性 → 高级系统设置 → 环境变量

  2. 在Path中添加

    复制代码
    C:\Program Files\MySQL\MySQL Server 8.0\bin

三、macOS系统安装

方法1:使用Homebrew

复制代码
brew install mysql
brew services start mysql

方法2:官方dmg安装

  1. 双击.dmg文件

  2. 拖动MySQL图标到Applications文件夹

  3. 打开系统偏好设置 → MySQL → Initialize Database

按提示完成:

  1. 设置密码强度策略

  2. 移除匿名用户

  3. 禁止远程root登录

  4. 移除测试数据库

四、Linux(Ubuntu)安装

1. APT安装

复制代码
sudo apt update
sudo apt install mysql-server
  1. 安全配置

    sudo mysql_secure_installation

按提示完成:

  1. 设置密码强度策略

  2. 移除匿名用户

  3. 禁止远程root登录

  4. 移除测试数据库

五、验证安装

复制代码
mysql -u root -p

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

六、常见问题解决

1. 安装失败

  • 检查系统位数(32/64位)

  • 确认VC++运行库已安装

  • 查看错误日志:C:\ProgramData\MySQL\MySQL Server 8.0\Data\*.err

2. 忘记root密码

  1. 停止MySQL服务

  2. 使用安全模式启动:

    复制代码
    mysqld --skip-grant-tables
  3. 新窗口登录修改密码

3. 服务无法启动

  • 检查3306端口占用:netstat -ano | findstr :3306

  • 查看错误日志路径:

    复制代码
    mysql> SHOW VARIABLES LIKE 'log_error';

七. 创建一个简单的数据库

复制代码
-- 创建数据库(如果不存在则创建)
CREATE DATABASE IF NOT EXISTS HEROS DEFAULT CHARSET="utf8mb4";
 
-- 使用HEROS数据库
USE HEROS;
 
-- 创建hero表
CREATE TABLE IF NOT EXISTS hero (
    id INT ,
    uname VARCHAR(20),
    gender CHAR(2),
    provenance CHAR(20)
);
 
-- 插入数据
INSERT INTO hero (id, uname, gender, provenance) VALUES
(1, '孙悟空', '男', '《西游记》'),
(2, '林黛玉', '女', '《红楼梦》'),
(3, '武松', '男', '《水浒传》'),
(4, '刘备', '男', '《三国演义》');
相关推荐
杨运交7 小时前
[060][调度模块]Redisson vs Redis 原生锁:两种分布式锁实现深度对比
数据库·redis·分布式
FungLeo7 小时前
Node 后端实战 · 列表查询到底怎么写?一个通用 DSL 封装,过滤分页排序一次搞定
数据库·node.js·serverless·dsl 封装·通用列表查询
抓蛙师7 小时前
多租户 tenant_id SQL 注入漏洞分析与应急响应报告
数据库·sql
ACP广源盛139246256737 小时前
Qwen3.8‑2.4T 开源落地@ACP#国产 MoE 私有化部署下 GSV2221 视频转换芯片机遇分析
大数据·数据库·人工智能
七牛开发者8 小时前
为什么 Go 很适合 AI 辅助开发?
数据库·人工智能·python·elasticsearch·log4j
何以解忧,唯有..10 小时前
数据库索引失效的常见情况与优化策略
数据库·sql·oracle
这个DBA有点耶11 小时前
分布式数据库到底该不该上?从判断标准到架构选型的实战思考
数据库·架构·dba
01_ice12 小时前
MySQL库和表的操作
数据库·mysql
oradh12 小时前
Oracle UNDO表空间管理维护总结
数据库·oracle·undo表空间·undo表空间管理·undo表空间管理维护
布莱克60512 小时前
数据库索引分类:数据结构、物理存储与逻辑角度详解
数据结构·数据库