一.mac系统安装mqsql

在 macOS 上安装 MySQL 有多种方式,下面是最常见的两种方法:使用 Homebrew 安装(推荐) 和 使用官方 .dmg
安装包安装。
✅ 方法一:使用 Homebrew 安装(推荐)
1. 安装 Homebrew(如果尚未安装):
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2. 更新 Homebrew:
bash
brew update
3. 安装 MySQL:
bash
brew install mysql
4. 启动 MySQL 服务:
bash
brew services start mysql ###启动
bash
brew services restart mysql ###重启
5. 初始化安全配置(设置 root 密码等):
bash
mysql_secure_installation
6. 登录 MySQL:
bash
mysql -u root -p
Homebrew 安装的 MySQL 默认无密码或使用
auth_socket
插件,首次登录可能无需密码。
如何确认是否安装成功
MySQL 命令行操作过程,展示了以下几步:
✅ 第一步:创建数据库
sql
CREATE DATABASE IF NOT EXISTS demo;
- 作用 :创建一个名为
demo
的数据库(如果它还不存在)。 - 结果 :返回
Query OK, 1 row affected (0.01 sec)
,表示数据库创建成功,耗时 0.01 秒。
✅ 第二步:切换数据库
sql
USE demo;
- 作用 :将当前会话的默认数据库切换为
demo
。 - 结果 :返回
Database changed
,表示切换成功。
✅ 当前状态提示
最后一行:
shell
mysql>
表示你已经成功进入 demo
数据库,可以开始在这个数据库中创建表、插入数据等操作了。
总结:
这张图片展示的是一个标准的 MySQL 数据库初始化流程:
创建数据库 → 使用数据库 → 准备后续操作。
🔍 常见问题排查
- 登录失败:确认是否设置了 root 密码,或尝试空密码登录。
- 服务未启动 :使用
brew services restart mysql
或系统偏好设置中手动启动。 - 端口占用:MySQL 默认使用 3306 端口,确保未被其他程序占用。
✅ 总结
安装方式 | 优点 | 适合人群 |
---|---|---|
Homebrew | 快速、易升级、命令行友好 | 开发者、熟悉终端用户 |
官方安装包 | 图形化安装、带有偏好设置面板 | 初学者、喜欢 GUI 的用户 |
如你是开发者或熟悉终端,推荐使用 Homebrew 安装 ;如你更喜欢图形界面操作,可选择官方 .dmg
安装包。
二、mac电脑如何管理mysql
Navicat Premium Lite
Navicat 是一套可创建多个连接的数据库管理工具,可以方便地管理MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB和 MongoDB等不同类型的数据库,它与阿里云、腾讯云、华为云、Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud 和 MongoDB Atlas等云数据库兼容。Navicat提供了GUI,即图形用户界面,可以通过安全且简单的方法创建、组织、访问和共享信息。



你这台 Mac 现在的症结就是:
MySQL 正以"跳过权限表"模式(--skip-grant-tables)运行 → TCP/IP 被彻底关闭 → 端口永远为 0 → Navicat 报 2002。
下面给出完全针对 macOS + Homebrew 的复原步骤,照做即可恢复 3306 监听与密码验证。
✅ 1. 停掉当前的"特权"实例
bash
# 先按正常流程停
brew services stop mysql
# 确保没有残留进程
pkill -f skip-grant-tables
再查一次:
bash
ps aux | grep mysqld
应该看不到 --skip-grant-tables
字样才算干净。
✅ 2. 让 Homebrew 重新生成干净的启动配置
bash
# 重新注册 LaunchAgent(会自动删掉旧参数)
brew services restart mysql
这条命令会把
/opt/homebrew/opt/mysql/homebrew.mxcl.mysql.plist
链接到
~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
并去除
--skip-grant-tables
。
✅ 3. 确认端口已恢复 3306
bash
lsof -i :3306 | grep LISTEN
正常会显示:
mysqld ... 127.0.0.1:3306 (LISTEN)
✅ 4. 验证密码验证已重新生效
bash
mysql -u root -p -h 127.0.0.1 -P 3306
- 能提示输入密码 → 说明 TCP/IP 与权限表都已打开。
- 登录成功后执行:
sql
SHOW VARIABLES LIKE 'port'; -- 应返回 3306
SHOW VARIABLES LIKE 'bind_address'; -- 应返回 127.0.0.1
✅ 5. Navicat 测试连接
主机 127.0.0.1
,端口 3306
,用户 root
,填好密码 → Connection Successful。
🔁 如果以后又被人为加了 --skip-grant-tables
只要重复第 1、2 步即可;不要手动改 plist ,让 brew services
全权管理最省心。
跑完把 lsof -i :3306
或 Navicat 截图发我,确认没问题就收工!

图片内容一句话总结:
MySQL 的密码验证已恢复(--skip-grant-tables 已去掉),但你输入的 root 密码不对,所以报错 1045。
✅ 当前状态
项目 | 结果 |
---|---|
TCP/IP 监听 | ✅ 已开启(3306) |
权限验证 | ✅ 已启用(不再跳过) |
root 密码 | ❌ 你输入的密码错误 |
✅ 下一步:重新设定 root 密码(macOS + Homebrew 专用)
-
先确保 MySQL 正在跑
bashbrew services restart mysql
-
用"跳过权限表"方式临时启动(一次性)
bashbrew services stop mysql mysqld_safe --skip-grant-tables --skip-networking &
-
另开一个新终端窗口,无密码登录:
bashmysql -u root
-
在 MySQL 里重设密码(MySQL 9.2 语法):
sqlFLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
-
退出并恢复正常模式:
bashexit pkill -f skip-grant-tables brew services start mysql
-
用新密码验证:
bashmysql -u root -p
输入刚设的密码,能进
mysql>
即成功。
✅ 然后 Navicat 就能连了
主机 127.0.0.1
,端口 3306
,用户 root
,密码用你刚才设的 → Connection Successful。