mac 安装mysql

1. 安装

通过 Homebrew 安装:

bash 复制代码
brew install mysql

安装产物:

版本 9.6.0
安装目录 /opt/homebrew/opt/mysql/
可执行文件 /opt/homebrew/opt/mysql/bin/mysqldmysqlmysqld_safemysqladmin
数据目录 /opt/homebrew/var/mysql/
监听端口 3306
Socket /tmp/mysql.sock
主机名 G62N6HRVGW

2. 启动

注意:本机上 brew services start mysql 在当前 macOS 版本上 launchd 未真正拉起 mysqld 进程(实测 brew services info mysql 显示 Running: false)。因此采用直接后台启动方式。

启动命令:

bash 复制代码
nohup /opt/homebrew/opt/mysql/bin/mysqld_safe --datadir=/opt/homebrew/var/mysql > /tmp/mysql_start.log 2>&1 &

验证启动成功:

bash 复制代码
mysql -u root -e "SELECT @@version, @@port;"

实际输出:

复制代码
@@version  @@port
9.6.0      3306

该方式不会随系统重启自动拉起。重启电脑后需手动再次执行启动命令。

3. 关闭

使用 mysqladmin shutdown 优雅关闭(已实测,exit code = 0):

bash 复制代码
mysqladmin -u root shutdown

执行后 ps aux | grep mysqld | grep -v grep 无输出,确认进程已退出。

4. 账号密码

账号 密码 主机 用途
root 空(未设置) localhost 超级管理员,本次安装未设置密码
demo_user Demo@1234 localhost 演示用户,对 demo_db 拥有全部权限

root 当前为无密码状态。如需加固,可执行 mysql_secure_installation(本次未执行,避免改动 root 凭据)。

demo_user 的创建与授权已实际执行:

sql 复制代码
CREATE USER 'demo_user'@'localhost' IDENTIFIED BY 'Demo@1234';
GRANT ALL PRIVILEGES ON demo_db.* TO 'demo_user'@'localhost';
FLUSH PRIVILEGES;

授权信息验证输出:

复制代码
GRANT USAGE ON *.* TO `demo_user`@`localhost`
GRANT ALL PRIVILEGES ON `demo_db`.* TO `demo_user`@`localhost`

5. 使用示例

以下命令本次均已实际执行并通过。

5.1 连接

bash 复制代码
# root 无密码登录
mysql -u root

# 普通用户带密码登录
mysql -u demo_user -pDemo@1234

5.2 建库建表

sql 复制代码
CREATE DATABASE demo_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

USE demo_db;

CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50) NOT NULL,
  email VARCHAR(100) UNIQUE,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

5.3 增删改查

sql 复制代码
-- 插入
INSERT INTO users (name, email)
VALUES ('alice','alice@example.com'),('bob','bob@example.com');

-- 查询
SELECT * FROM users;

-- 更新
UPDATE users SET email='alice2@example.com' WHERE name='alice';

-- 删除
DELETE FROM users WHERE name='bob';

-- 计数
SELECT COUNT(*) FROM users;

实际运行输出示例:

复制代码
id  name   email               created_at
1   alice  alice@example.com   2026-05-30 16:15:47
2   bob    bob@example.com     2026-05-30 16:15:47

更新与删除后:

复制代码
id  name   email                created_at
1   alice  alice2@example.com   2026-05-30 16:15:47

cnt
1

5.4 查看数据库与用户

sql 复制代码
SHOW DATABASES;
SELECT User, Host FROM mysql.user WHERE User='demo_user';
SHOW GRANTS FOR 'demo_user'@'localhost';

SHOW DATABASES; 实测输出:

复制代码
demo_db
information_schema
mysql
performance_schema
sys

5.5 退出

sql 复制代码
EXIT;

6. 常用日志与文件位置

文件 路径
错误日志 /opt/homebrew/var/mysql/G62N6HRVGW.err
PID 文件 /opt/homebrew/var/mysql/G62N6HRVGW.pid
启动日志 /tmp/mysql_start.log(本文档使用的启动方式)

7. 快速参考

动作 命令
启动 nohup /opt/homebrew/opt/mysql/bin/mysqld_safe --datadir=/opt/homebrew/var/mysql > /tmp/mysql_start.log 2>&1 &
关闭 mysqladmin -u root shutdown
连接 mysql -u root
查看进程 `ps aux
相关推荐
念恒123061 小时前
MySQL事务(下)---MySQL InnoDB MVCC 与 Read View:从隐藏列、Undo Log 到 RR 与 RC 的本质区别
数据库·mysql·oracle
Java面试题总结1 小时前
MySQL EXISTS 详解:存在性判断、NOT EXISTS 与实战示例
android·数据库·mysql
土狗TuGou2 小时前
SQL内功笔记 · 第5篇:SQL逻辑执行顺序
数据库·笔记·后端·sql·mysql
abcy0712132 小时前
python Django整合postgresql实现增删改查crud
mysql
MaCa .BaKa2 小时前
56-非遗手工艺品定制平台系统
java·vue.js·spring boot·mysql·maven·非遗手工制作平台系统·非遗制作
程序猿乐锅2 小时前
【MySQL | 第六篇】 SQL 优化
数据库·sql·mysql
j7~2 小时前
【MYSQL】索引特性--详解
数据库·mysql·索引操作·索引的理解·mysql与磁盘·b+树与mysql
唐青枫12 小时前
MySQL EXISTS 详解:存在性判断、NOT EXISTS 与实战示例
sql·mysql
2301_7736436214 小时前
华为云存储实验
网络·mysql·华为云