MySQL Server 入门指南:安装、配置与管理
MySQL 是一款流行的开源关系型数据库管理系统 (RDBMS),广泛应用于 Web 应用程序、数据仓库和其他各种数据驱动的项目。本指南将详细介绍如何在不同操作系统上安装、基本配置和管理 MySQL 服务器,帮助初学者快速上手。
1. 简介
MySQL 以其高性能、可靠性和易用性而闻名。它支持多种操作系统,并提供强大的功能集,包括事务、存储过程、触发器和视图。本指南将侧重于 MySQL Community Server 版本,这是一个免费且功能强大的版本。
2. 安装 MySQL 服务器
我们将涵盖在 Windows、macOS 和 Linux (以 Ubuntu/Debian 为例) 上安装 MySQL 的步骤。
2.1 Windows
在 Windows 上安装 MySQL 最推荐的方式是使用 MySQL Installer。
- 下载 MySQL Installer: 访问 MySQL 官方下载页面,下载最新版本的 MySQL Installer。选择
mysql-installer-community-*.msi文件。 - 运行安装程序: 双击下载的
.msi文件启动安装向导。 - 选择安装类型:
- 推荐选择
Developer Default,它会安装 MySQL Server、MySQL Workbench (GUI 工具)、Shell、Router 和 Connector 等组件。 - 如果你只需要 MySQL Server,可以选择
Server only。
- 推荐选择
- 检查要求: 安装程序会检查并显示任何缺失的软件要求 (如 Visual C++ Redistributable)。
- 配置 MySQL Server:
- 高可用性: 保持默认的
Standalone MySQL Server / Classic MySQL Replication。 - 类型和网络:
Config Type: 通常选择Development Machine或Server Machine,这会影响内存使用和连接数。Port: 默认端口是3306,通常不需要更改。Open Windows Firewall port for network access: 确保勾选,以便外部连接。
- 身份验证方法:
Use Strong Password Encryption for Authentication (RECOMMENDED): 推荐此选项,它使用最新的加密协议。Use Legacy Authentication Method (Retain MySQL 5.x Compatibility): 如果你需要与旧版客户端兼容,可以选择此项。
- Root 账户密码: 设置
root用户的密码。请务必记住此密码。 - MySQL Windows Service:
Windows Service Name: 保持默认或自定义。Start MySQL Server at System Startup: 推荐勾选,使 MySQL 在系统启动时自动运行。Standard System Account: 保持默认。
- 高可用性: 保持默认的
- 应用配置: 点击
Execute应用所有配置。 - 完成安装: 安装完成后,你将看到一个完成页面。
2.2 macOS
在 macOS 上,你可以通过官方 DMG 包或 Homebrew 进行安装。推荐使用 Homebrew。
使用 Homebrew (推荐)
- 安装 Homebrew: 如果你尚未安装 Homebrew,请打开终端并运行:
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 安装 MySQL:
bash
brew install mysql - 启动 MySQL 服务:
bash
brew services start mysql
你也可以使用brew services stop mysql停止服务,brew services restart mysql重启服务。 - 安全配置: 运行安全脚本以设置 root 密码并删除不安全的默认项:
bash
mysql_secure_installation
按照提示操作,为root用户设置密码。
使用官方 DMG 包
- 下载 DMG 包: 访问 MySQL 官方下载页面,下载适用于 macOS 的
.dmg文件。 - 运行安装程序: 双击下载的
.dmg文件。 - 安装向导: 按照安装向导的指示完成安装。在设置
root密码时,选择Use Strong Password Encryption或Use Legacy Password Encryption。请务必记下root密码。 - 启动 MySQL: 安装完成后,你会在
系统偏好设置 (System Preferences)中找到MySQL面板。点击它并点击Start MySQL Server。 - 安全配置: 打开终端并运行:
bash
/usr/local/mysql/bin/mysql_secure_installation
按照提示操作,为root用户设置密码并删除不安全的默认项。
2.3 Linux (Ubuntu/Debian)
在基于 Debian 的系统 (如 Ubuntu) 上,你可以通过 apt 包管理器安装 MySQL。
- 更新包列表:
bash
sudo apt update - 安装 MySQL 服务器:
bash
sudo apt install mysql-server
安装过程中会提示你设置root用户的密码。请务必记住此密码。 - 检查服务状态:
bash
sudo systemctl status mysql
如果服务没有运行,可以使用sudo systemctl start mysql启动它。 - 安全配置: 运行安全脚本以设置 root 密码并删除不安全的默认项:
bash
sudo mysql_secure_installation
按照提示操作。
3. 基本配置
安装完成后,进行一些基本的安全配置是至关重要的。
3.1 保护 MySQL 安装 (mysql_secure_installation)
这是安装 MySQL 后最重要的一步,无论你使用哪种安装方法,都应该运行此脚本。它会帮助你:
- 设置
root用户的密码。 - 删除匿名用户。
- 禁止
root用户远程登录。 - 删除测试数据库。
- 重新加载权限表。
在终端或命令提示符中运行:
“`bash
在 Linux/macOS 上
mysql_secure_installation
在 Windows 上,可能需要导航到 MySQL 的 bin 目录,例如:
cd “C:\Program Files\MySQL\MySQL Server 8.0\bin”
mysql_secure_installation.exe
“`
按照提示完成所有步骤。
3.2 启动、停止和重启 MySQL
-
Linux/macOS (Systemd/Homebrew):
“`bash
sudo systemctl start mysql # 启动
sudo systemctl stop mysql # 停止
sudo systemctl restart mysql # 重启
sudo systemctl status mysql # 查看状态Homebrew 用户:
brew services start mysql
brew services stop mysql
brew services restart mysql
``服务 (Services)
* **Windows (服务管理器)**:
打开应用,找到MySQL服务,右键选择启动 (Start)、停止 (Stop)或重启 (Restart)`。
4. 连接到 MySQL 服务器
4.1 命令行客户端
安装 MySQL 服务器后,会附带一个命令行客户端。
- 连接到本地服务器:
bash
mysql -u root -p
系统会提示你输入root用户的密码。成功登录后,你将看到mysql>提示符。 - 执行 SQL 命令:
在mysql>提示符下,你可以输入 SQL 命令。例如:
sql
SHOW DATABASES;
SELECT USER(), CURRENT_USER();
EXIT;
4.2 GUI 工具 (图形用户界面)
对于不习惯命令行的用户,MySQL Workbench 是官方推荐的 GUI 工具。其他流行的第三方工具包括 DBeaver、Navicat 等。这些工具提供更友好的界面来管理数据库、执行查询和可视化数据。
5. 基本管理操作
登录到 MySQL 客户端后,你可以执行以下基本管理任务。
5.1 创建数据库
sql
CREATE DATABASE my_new_database;
5.2 使用数据库
在执行表操作之前,你需要指定要使用的数据库:
sql
USE my_new_database;
5.3 创建用户并授予权限
为每个应用程序或用户创建独立的数据库用户是最佳实践,而不是都使用 root 用户。
“`sql
— 创建一个新用户 ‘my_user’,密码为 ‘MyStrongPassword’
CREATE USER ‘my_user’@’localhost’ IDENTIFIED BY ‘MyStrongPassword’;
— 授予 ‘my_user’ 在 ‘my_new_database’ 上的所有权限
GRANT ALL PRIVILEGES ON my_new_database.* TO ‘my_user’@’localhost’;
— 刷新权限,使更改生效
FLUSH PRIVILEGES;
``‘my_user’@’localhost’
*:‘my_user’是用户名,‘localhost’表示该用户只能从本地连接。如果你想允许从任何主机连接 (不推荐用于生产环境),可以使用‘my_user’@’%’。ALL PRIVILEGES
*: 授予所有权限。你可以根据需要限制权限,例如SELECT, INSERT, UPDATE, DELETE`。
5.4 撤销权限
sql
REVOKE ALL PRIVILEGES ON my_new_database.* FROM 'my_user'@'localhost';
FLUSH PRIVILEGES;
5.5 删除用户
sql
DROP USER 'my_user'@'localhost';
FLUSH PRIVILEGES;
5.6 基本 SQL 命令示例
创建表:
“`sql
USE my_new_database;
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
hire_date DATE
);
“`
插入数据:
sql
INSERT INTO employees (first_name, last_name, email, hire_date) VALUES
('John', 'Doe', '[email protected]', '2023-01-15'),
('Jane', 'Smith', '[email protected]', '2022-11-01');
查询数据:
sql
SELECT * FROM employees;
SELECT first_name, email FROM employees WHERE hire_date > '2023-01-01';
更新数据:
sql
UPDATE employees SET email = '[email protected]' WHERE id = 1;
删除数据:
sql
DELETE FROM employees WHERE id = 2;
6. 结论
通过本指南,你已经学会了如何在不同操作系统上安装 MySQL 服务器,进行了基本的安全配置,并掌握了通过命令行客户端进行连接和执行基本数据库管理操作。这为你深入学习 MySQL 打下了坚实的基础。接下来,你可以探索更高级的特性,如索引优化、备份与恢复、复制和集群等。