MySQL概述
MySQL是世界上最流行的开源关系型数据库管理系统,广泛应用于Web应用程序开发。它具有高性能、可靠性强、易于使用等特点。
高性能
优化的查询引擎,支持高并发访问
可靠性
ACID事务支持,数据安全有保障
可扩展
支持分区、复制、集群等扩展方案
易开发
标准SQL语法,丰富的开发工具
MySQL版本选择
MySQL 8.0
推荐- 最新稳定版本
- 性能大幅提升
- 新增JSON支持
- 改进的安全性
- 窗口函数支持
MySQL 5.7
传统版本- 稳定可靠
- 广泛使用
- 兼容性好
- 已停止更新
Homebrew安装方式(推荐)
为什么推荐Homebrew?
- 安装简单,自动处理依赖
- 版本管理方便
- 自动配置服务
- 卸载干净
步骤1:安装MySQL
brew install mysql
安装过程可能需要几分钟,Homebrew会自动下载并配置MySQL。
步骤2:启动MySQL服务
# 启动MySQL服务
brew services start mysql
或者手动启动(临时):
mysqld_safe --datadir=/opt/homebrew/var/mysql
步骤3:安全配置
运行MySQL安全配置脚本:
mysql_secure_installation
配置过程中的选择建议:
设置root密码: Yes
为root用户设置一个强密码
移除匿名用户: Yes
删除匿名用户账户,提高安全性
禁止root远程登录: Yes
只允许本地登录root账户
删除test数据库: Yes
删除默认的测试数据库
重新加载权限表: Yes
使配置立即生效
步骤4:测试连接
mysql -u root -p
输入刚才设置的root密码,成功登录后会看到MySQL提示符:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.35 Homebrew Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
官方安装包方式
如果你不想使用Homebrew,也可以下载MySQL官方安装包。
步骤1:下载MySQL
步骤2:安装MySQL
- 双击下载的DMG文件
- 双击MySQL安装包(.pkg文件)
- 按照安装向导进行安装
- 记住安装过程中显示的临时root密码
- 完成安装后,MySQL会自动启动
安装完成后会显示一个临时密码,请务必记录下来!
步骤3:系统偏好设置
安装完成后,可以在"系统偏好设置"中管理MySQL:
- 打开"系统偏好设置"
- 找到并点击"MySQL"图标
- 可以启动/停止MySQL服务
- 设置开机自启动
步骤4:配置环境变量
将MySQL命令添加到PATH:
echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
初始配置
修改root密码
如果使用官方安装包,需要先修改临时密码:
# 使用临时密码登录
mysql -u root -p
登录后立即修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
创建开发用户
为了安全起见,建议创建专门的开发用户:
-- 创建开发用户
CREATE USER 'developer'@'localhost' IDENTIFIED BY 'dev_password';
-- 授予权限
GRANT ALL PRIVILEGES ON *.* TO 'developer'@'localhost' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
在生产环境中,应该根据需要授予最小权限,而不是ALL PRIVILEGES。
创建开发数据库
-- 创建开发数据库
CREATE DATABASE myapp_dev CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建测试数据库
CREATE DATABASE myapp_test CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 查看数据库列表
SHOW DATABASES;
配置文件位置
Homebrew安装
/opt/homebrew/etc/my.cnf
或 /usr/local/etc/my.cnf
官方安装包
/etc/my.cnf
或 /usr/local/mysql/my.cnf
基础配置示例
创建或编辑MySQL配置文件:
[mysqld]
# 基本设置
port = 3306
bind-address = 127.0.0.1
socket = /tmp/mysql.sock
# 字符集设置
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 连接设置
max_connections = 200
max_connect_errors = 10
# 缓存设置
innodb_buffer_pool_size = 256M
query_cache_size = 64M
query_cache_type = 1
# 日志设置
log-error = /opt/homebrew/var/log/mysql/error.log
slow_query_log = 1
slow_query_log_file = /opt/homebrew/var/log/mysql/slow.log
long_query_time = 2
# 安全设置
local-infile = 0
[mysql]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4
port = 3306
socket = /tmp/mysql.sock
安全配置
密码策略配置
配置密码复杂度要求:
-- 查看当前密码策略
SHOW VARIABLES LIKE 'validate_password%';
-- 设置密码策略(如果需要)
SET GLOBAL validate_password.policy = MEDIUM;
SET GLOBAL validate_password.length = 8;
网络安全
只绑定本地地址(127.0.0.1)
禁用不必要的功能
定期更新MySQL版本
使用强密码
用户权限管理
-- 查看用户列表
SELECT user, host FROM mysql.user;
-- 查看用户权限
SHOW GRANTS FOR 'username'@'localhost';
-- 撤销权限示例
REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';
-- 删除用户
DROP USER 'username'@'localhost';
服务管理
Homebrew服务管理
启动服务
brew services start mysql
停止服务
brew services stop mysql
重启服务
brew services restart mysql
查看状态
brew services list | grep mysql
系统偏好设置管理
- 打开"系统偏好设置"
- 点击"MySQL"图标
- 使用"Start MySQL Server"按钮启动
- 使用"Stop MySQL Server"按钮停止
- 勾选"Automatically Start MySQL Server on Startup"设置开机自启
手动管理
启动MySQL
sudo mysqld_safe --datadir=/usr/local/mysql/data
停止MySQL
sudo mysqladmin -u root -p shutdown
检查进程
ps aux | grep mysql
安装验证
基本验证
检查MySQL版本
mysql --version
检查服务状态
brew services list | grep mysql
测试连接
mysql -u root -p -e "SELECT VERSION();"
检查端口
lsof -i :3306
功能测试
创建测试表并插入数据:
-- 连接MySQL
mysql -u root -p
-- 创建测试数据库
CREATE DATABASE test_db;
USE test_db;
-- 创建测试表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 插入测试数据
INSERT INTO users (name, email) VALUES
('张三', 'zhangsan@example.com'),
('李四', 'lisi@example.com');
-- 查询数据
SELECT * FROM users;
-- 删除测试数据库
DROP DATABASE test_db;
性能测试
-- 查看MySQL状态
SHOW STATUS;
-- 查看进程列表
SHOW PROCESSLIST;
-- 查看变量配置
SHOW VARIABLES LIKE '%innodb%';
管理工具
MySQL Workbench
官方图形化管理工具
MySQL Workbench是MySQL官方提供的可视化数据库设计和管理工具。
- 数据库设计和建模
- SQL开发和调试
- 数据库管理
- 性能监控
安装MySQL Workbench:
brew install --cask mysql-workbench
或者从官网下载:
下载MySQL Workbench命令行工具
mysql
MySQL命令行客户端
mysql -u username -p -h hostname database_name
mysqldump
数据库备份工具
mysqldump -u root -p database_name > backup.sql
mysqladmin
MySQL管理工具
mysqladmin -u root -p status
第三方工具推荐
Sequel Pro
轻量级的Mac MySQL客户端
brew install --cask sequel-pro
TablePlus
现代化的数据库管理工具
brew install --cask tableplus
phpMyAdmin
基于Web的MySQL管理工具
brew install phpmyadmin
连接配置示例
本地连接
- 主机: localhost 或 127.0.0.1
- 端口: 3306
- 用户名: root 或 developer
- 密码: 你设置的密码
Socket连接
- Socket文件: /tmp/mysql.sock
- 用户名: root
- 密码: 你设置的密码