MySQL 安装指南

MySQL是世界上最流行的开源关系型数据库管理系统。本章将详细介绍在Windows、Linux和macOS等不同操作系统上安装MySQL的完整步骤。

安装前准备:
  • 确保系统满足MySQL的最低硬件要求
  • 下载对应操作系统的MySQL安装包
  • 关闭可能冲突的应用程序

下载 MySQL

所有平台的MySQL下载地址为:MySQL 官方下载页面

选择适合的版本

  • MySQL Community Server:免费开源版本,适合大多数用户
  • MySQL Enterprise Edition:商业版,提供额外功能和支持
  • MySQL Cluster:高可用性集群版本

根据你的操作系统选择合适的安装包:

  • Windows:MySQL Installer (.msi)
  • Linux:RPM包、DEB包或二进制包
  • macOS:DMG安装包

Linux/UNIX 上安装 MySQL

使用包管理器安装(推荐)

Ubuntu/Debian 系统:

# 更新软件包列表
sudo apt update

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

# 启动MySQL服务
sudo systemctl start mysql

# 设置开机自启
sudo systemctl enable mysql

# 运行安全安装脚本
sudo mysql_secure_installation

CentOS/RHEL/Fedora 系统:

# 添加MySQL Yum仓库(可选,用于安装最新版本)
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 安装MySQL服务器
sudo yum install mysql-server
# 或者使用 dnf(Fedora)
sudo dnf install mysql-server

# 启动MySQL服务
sudo systemctl start mysqld

# 设置开机自启
sudo systemctl enable mysqld

# 查看临时root密码
sudo grep 'temporary password' /var/log/mysqld.log

# 运行安全安装脚本
sudo mysql_secure_installation

使用RPM包安装

# 下载对应的RPM包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-8.0.33-1.el7.x86_64.rpm

# 安装RPM包
sudo rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm

# 启动MySQL服务
sudo systemctl start mysqld
注意:以上安装过程会自动创建mysql用户和基本的配置文件my.cnf。

Windows 上安装 MySQL

使用MySQL Installer安装(推荐)

  1. 下载MySQL Installer (.msi文件)
  2. 双击运行安装程序
  3. 选择安装类型:
    • Developer Default:开发者默认安装
    • Server only:仅安装服务器
    • Client only:仅安装客户端
    • Full:完整安装
    • Custom:自定义安装
  4. 按照向导完成安装过程
  5. 配置MySQL服务器:
    • 设置root用户密码
    • 配置Windows服务
    • 设置字符集(推荐utf8mb4)

使用ZIP包安装

# 解压ZIP包到C:\mysql
# 创建配置文件my.ini
# 初始化数据目录
mysqld --initialize --console

# 安装MySQL服务
mysqld --install

# 启动MySQL服务
net start mysql
提示:如果安装成功,命令行将输出MySQL启动信息及InnoDB相关信息。

macOS 上安装 MySQL

使用DMG包安装

  1. 下载macOS的DMG安装包
  2. 双击DMG文件打开
  3. 运行安装程序pkg文件
  4. 按照安装向导完成安装
  5. 在系统偏好设置中启动MySQL服务

使用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

# 运行安全安装脚本
mysql_secure_installation

验证 MySQL 安装

检查MySQL版本

mysqladmin --version

如果命令执行后显示版本信息,说明MySQL安装成功。如果没有任何输出,说明安装可能有问题。

检查MySQL服务状态

# Linux系统
sudo systemctl status mysql

# Windows系统
sc query mysql

# macOS系统
brew services list

连接到MySQL服务器

# 使用root用户连接
mysql -u root -p

输入在安装过程中设置的root密码。

使用 MySQL 客户端执行基本命令

成功连接到MySQL服务器后,你可以执行SQL命令:

-- 显示所有数据库
SHOW DATABASES;

-- 创建新数据库
CREATE DATABASE mydatabase;

-- 使用数据库
USE mydatabase;

-- 显示当前数据库中的表
SHOW TABLES;

-- 退出MySQL客户端
EXIT;

正常输出示例:

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

安装后的必要配置

运行安全安装脚本

sudo mysql_secure_installation

这个脚本会引导你完成以下安全设置:

  • 设置root密码强度验证策略
  • 删除匿名用户
  • 禁止root远程登录
  • 删除测试数据库
  • 重新加载权限表
注意:在输入密码时,出于安全考虑,密码不会显示在屏幕上,请确保正确输入。

创建新用户和数据库

-- 创建新用户
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';

-- 创建数据库
CREATE DATABASE myapp;

-- 授予权限
GRANT ALL PRIVILEGES ON myapp.* TO 'myuser'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

设置系统启动时自动启动 MySQL

Linux 系统(systemd)

# 启用MySQL开机自启
sudo systemctl enable mysql

# 对于CentOS/RHEL
sudo systemctl enable mysqld

传统Linux系统(SysV init)

# 在/etc/rc.local文件中添加
/etc/init.d/mysqld start

Windows 系统

在服务管理器中设置MySQL服务为自动启动:

# 使用命令设置
sc config mysql start= auto

macOS 系统

# 使用launchctl设置开机启动
launchctl load -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

故障排除

常见问题及解决方案

1. 无法启动MySQL服务

  • 检查端口3306是否被占用:netstat -tulpn | grep 3306
  • 查看错误日志:tail -f /var/log/mysqld.log
  • 检查配置文件语法:mysqld --verbose --help

2. 忘记root密码

# 停止MySQL服务
sudo systemctl stop mysql

# 以跳过权限检查的方式启动
sudo mysqld_safe --skip-grant-tables &

# 连接并修改密码
mysql -u root
UPDATE mysql.user SET authentication_string=PASSWORD('newpassword') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;

# 重启MySQL服务
sudo systemctl restart mysql

3. 连接被拒绝

  • 检查MySQL服务是否运行
  • 确认用户名和密码正确
  • 检查防火墙设置
  • 确认MySQL绑定地址配置