MySQL 8.4 最新版完整安装教程:史上最详细的安装指南(支持代码高亮)

📋 目录

  • 1. 前言
  • 2. 系统要求
  • 3. 在 CentOS/RHEL 上安装 MySQL
  • 4. 在 Ubuntu/Debian 上安装 MySQL
  • 5. 在 Windows 上安装 MySQL
  • 6. 在 macOS 上安装 MySQL
  • 7. 使用 Docker 安装 MySQL
  • 8. 首次配置与安全加固
  • 9. 常用操作命令
  • 10. 常见问题解答
  • 11. 总结

🚀 1. 前言

MySQL 是全球最流行的开源关系型数据库管理系统,由 Oracle 公司开发和维护。截至 2024 年底,MySQL 最新稳定版本为 8.4.x LTS,而 MySQL 9.0 也已经发布预览版。本文将详细介绍在不同操作系统上安装 MySQL 最新版本的完整步骤。

本文涵盖了 Linux (CentOS/RHEL/Ubuntu/Debian)、Windows、macOS 以及 Docker 等多种安装方式,并包含完整的代码示例和配置说明。


💻 2. 系统要求

2.1 硬件要求

组件 最低要求 推荐配置
CPU 1 核心 4 核心及以上
内存 512 MB 4 GB 及以上
磁盘 2 GB 可用空间 50 GB SSD 及以上
网络 10 Mbps 100 Mbps 及以上

2.2 支持的操作系统

  • Linux:Ubuntu 20.04/22.04/24.04, Debian 10/11/12, CentOS 7/8/9, RHEL 7/8/9, Rocky Linux, AlmaLinux
  • Windows:Windows 10/11, Windows Server 2019/2022
  • macOS:macOS 11 (Big Sur) 及以上
  • Docker:所有支持 Docker 的平台

🐧 3. 在 CentOS/RHEL 上安装 MySQL

3.1 添加 MySQL 官方仓库

# 下载 MySQL 官方仓库安装包
wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

# 安装仓库包
sudo dnf install mysql80-community-release-el9-1.noarch.rpm

# 启用 MySQL 8.4 仓库
sudo dnf repolist enabled | grep mysql

3.2 安装 MySQL 社区版

# 安装 MySQL 服务器
sudo dnf install mysql-community-server

# 安装 MySQL 客户端
sudo dnf install mysql-community-client

# 安装 MySQL Shell
sudo dnf install mysql-shell

3.3 启动并设置开机自启动

# 启动 MySQL 服务
sudo systemctl start mysqld

# 设置开机自启动
sudo systemctl enable mysqld

# 检查服务状态
sudo systemctl status mysqld

3.4 查看临时密码

# MySQL 8.0+ 安装后会生成临时密码
grep 'temporary password' /var/log/mysqld.log

🐧 4. 在 Ubuntu/Debian 上安装 MySQL

4.1 添加 MySQL 官方 APT 仓库

# 下载 MySQL APT 配置包
wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb

# 安装 APT 配置包
sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb

# 更新软件包列表
sudo apt update

4.2 安装 MySQL

# 安装 MySQL 社区版服务器和客户端
sudo apt install mysql-community-server mysql-community-client

# 安装 MySQL Shell
sudo apt install mysql-shell

4.3 启动服务

# 启动 MySQL 服务
sudo systemctl start mysql

# 设置开机自启动
sudo systemctl enable mysql

# 检查服务状态
sudo systemctl status mysql

🪟 5. 在 Windows 上安装 MySQL

5.1 使用 MSI 安装包

# 1. 下载 MySQL Installer
# 官网下载:https://dev.mysql.com/downloads/installer/

# 2. 运行 MySQL Installer
# 选择 "Developer Default" 或 "Full" 安装类型

# 3. 按照向导完成安装
# - 选择 MySQL Server 8.4.x
# - 选择 MySQL Workbench

5.2 使用 Chocolatey

# 安装 Chocolatey
Set-ExecutionPolicy Bypass -Scope Process -Force; 
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

# 安装 MySQL
choco install mysql -y

# 安装 MySQL Workbench
choco install mysql.workbench -y

5.3 使用 Docker

# 安装 Docker Desktop for Windows
# 下载地址:https://www.docker.com/products/docker-desktop

# 拉取并运行 MySQL 容器
docker run --name mysql -e MYSQL_ROOT_PASSWORD=your_password -d -p 3306:3306 mysql:latest

🍎 6. 在 macOS 上安装 MySQL

6.1 使用 Homebrew

# 安装 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装 MySQL
brew install mysql

# 启动 MySQL 服务
brew services start mysql

6.2 使用 DMG 安装包

# 1. 下载 MySQL DMG 包
# 官网下载:https://dev.mysql.com/downloads/mysql/

# 2. 双击打开并运行安装向导

🐳 7. 使用 Docker 安装 MySQL

7.1 安装 Docker

# Ubuntu/Debian 安装 Docker
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker

7.2 运行 MySQL 容器

# 拉取 MySQL 最新版镜像
docker pull mysql:latest

# 运行 MySQL 容器
docker run -d \
  --name mysql-server \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=your_strong_password \
  -e MYSQL_DATABASE=your_database \
  -v mysql_data:/var/lib/mysql \
  mysql:latest

7.3 Docker Compose

# docker-compose.yml
version: '3.8'

services:
  mysql:
    image: mysql:latest
    container_name: mysql-server
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: your_strong_password_here
      MYSQL_DATABASE: your_database_name
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql

volumes:
  mysql_data:

🔒 8. 首次配置与安全加固

8.1 运行安全加固脚本

sudo mysql_secure_installation

8.2 创建新用户并授权

-- 创建新用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'StrongPassword123!';
CREATE USER 'username'@'%' IDENTIFIED BY 'StrongPassword123!';

-- 授予权限
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

-- 刷新权限
FLUSH PRIVILEGES;

8.3 配置远程访问

# 编辑 MySQL 配置文件
sudo vim /etc/my.cnf

# 添加以下内容
[mysqld]
bind-address = 0.0.0.0

# 重启 MySQL 服务
sudo systemctl restart mysql

8.4 性能优化配置

[mysqld]

# 内存配置
innodb_buffer_pool_size = 4G
innodb_buffer_pool_instances = 4
innodb_log_file_size = 1G

# 连接配置
max_connections = 500
wait_timeout = 300

# 日志配置
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2

📝 9. 常用操作命令

9.1 服务管理

# Systemd 系统
systemctl start mysql      # 启动
systemctl stop mysql       # 停止
systemctl restart mysql   # 重启
systemctl status mysql    # 状态
systemctl enable mysql    # 开机自启

9.2 MySQL 客户端

# 登录 MySQL
mysql -u username -p -h hostname -P port

# 导出数据库
mysqldump -u username -p database_name > backup.sql

# 导入数据库
mysql -u username -p database_name < backup.sql

# 查看数据库
SHOW DATABASES;

# 选择数据库
USE database_name;

# 查看数据表
SHOW TABLES;

9.3 MySQL Shell

# 启动 MySQL Shell
mysqlsh

# 使用 SQL 模式
\sql

# 连接数据库
\connect username@hostname:3306

❓ 10. 常见问题解答

Q1: MySQL 服务无法启动?

# 检查错误日志
journalctl -u mysql -n 50

# 查看 MySQL 错误日志
tail -f /var/log/mysql/error.log

# 检查端口
netstat -tlnp | grep 3306

Q2: 忘记 root 密码?

# 1. 停止 MySQL 服务
sudo systemctl stop mysqld

# 2. 安全模式启动
sudo mysqld_safe --skip-grant-tables &

# 3. 重置密码
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';

Q3: 如何优化 MySQL 性能?

# 分析慢查询
mysqldumpslow -t 10 /var/log/mysql/slow.log

# 使用 EXPLAIN 分析
EXPLAIN SELECT * FROM users WHERE email LIKE '%test%';

# 添加索引
CREATE INDEX idx_email ON users(email);

Q4: 连接被拒绝?

# 检查用户权限
SELECT user, host FROM mysql.user WHERE user = 'username';

# 检查 bind-address
SHOW VARIABLES LIKE 'bind_address';

# 防火墙开放端口
sudo ufw allow 3306/tcp

Q5: Docker 数据持久化?

# 创建数据卷
docker volume create mysql_data

# 使用数据卷
docker run -d \
  --name mysql \
  -v mysql_data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=password \
  mysql:latest

📚 11. 总结

本文详细介绍了 MySQL 最新版本在各个主流操作系统上的安装和配置方法。

🔑 关键要点:

  • 安全第一:安装后立即运行 mysql_secure_installation
  • 使用强密码:包含大小写字母、数字和特殊字符
  • 远程访问:修改 bind-address 并在防火墙开放端口
  • 性能优化:调整 innodb_buffer_pool_size
  • 定期备份:使用 mysqldump 或 Docker 数据卷

📚 推荐资源:


📢 声明:本文由 AI 自动生成,内容基于 MySQL 官方文档和最佳实践。安装前请备份重要数据。

🔖 标签:#MySQL #数据库 #安装教程 #Linux #Docker #DevOps

发表回复

后才能评论