Mac电脑上本地安装 MySQL并配置开启自启完整流程

news2025/6/4 19:34:24

文章目录

    • 一、mysql安装
      • 1.1 使用 Homebrew 安装(推荐)
      • 1.2 手动下载 MySQL 社区版
      • 1.3 常见问题
      • 1.4 图形化管理工具(可选)
    • 二、Mac 上配置 MySQL 开机自动启动
      • 2.1 使用 `launchd` 系统服务(原生支持)
      • 2.2 通过 Homebrew 设置开机启动(推荐)
      • 2.3 常见问题

在 Mac 电脑上本地安装 MySQL 的步骤如下:

一、mysql安装

1.1 使用 Homebrew 安装(推荐)

  1. 安装 Homebrew(如果尚未安装):

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. 安装 MySQL

    brew install mysql
    
  3. 启动 MySQL 服务

    brew services start mysql
    
  4. 运行安全配置向导(设置 root 密码等):

    mysql_secure_installation
    
    • 按照提示操作,建议设置 root 密码并启用安全选项。
  5. 验证安装

    mysql -u root -p
    

    输入密码后,成功进入 MySQL 命令行即表示安装完成。


1.2 手动下载 MySQL 社区版

  1. 下载安装包

    • 访问 MySQL 官网下载页面。
    • 选择 macOS 版本(推荐下载 .dmg 格式的安装包)。
  2. 安装 MySQL

    • 双击下载的 .dmg 文件。
    • 运行其中的 .pkg 安装程序,按向导完成安装。
  3. 配置 MySQL

    • 安装完成后,在系统偏好设置中找到 MySQL,点击启动服务。
    • 或在终端运行:
      sudo /usr/local/mysql/support-files/mysql.server start
      
  4. 设置环境变量(可选):
    将 MySQL 添加到 PATH 中,方便命令行访问:

    echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
    

    (如果使用 Bash,将 .zshrc 替换为 .bash_profile

  5. 登录 MySQL

    mysql -u root -p
    

    初始密码通常在安装结束时显示,或保存在 /usr/local/mysql/data/mysql-error.log 中。


1.3 常见问题

  1. 忘记 root 密码

    • 停止 MySQL 服务:
      brew services stop mysql  # 或 sudo /usr/local/mysql/support-files/mysql.server stop
      
    • 启动安全模式:
      sudo mysqld_safe --skip-grant-tables
      
    • 另开终端登录并重置密码:
      mysql -u root
      
      FLUSH PRIVILEGES;
      ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
      EXIT;
      
  2. 无法启动服务

    • 检查错误日志:/usr/local/mysql/data/*.err
    • 可能是权限问题,尝试:
      sudo chown -R _mysql:mysql /usr/local/mysql/data
      

1.4 图形化管理工具(可选)

  • MySQL Workbench:官方可视化工具,支持查询和管理。
  • Sequel Ace:轻量级开源客户端(下载地址)。

完成后,你就可以在本地开发中使用 MySQL 了!

二、Mac 上配置 MySQL 开机自动启动

2.1 使用 launchd 系统服务(原生支持)

Mac 使用 launchd 管理系统服务,MySQL 安装后通常会自动创建 .plist 文件。以下是手动配置步骤:

1. 确认 MySQL 安装路径

which mysqld

通常路径为 /usr/local/mysql/bin/mysqld(通过官方 .dmg 安装)或 /opt/homebrew/bin/mysqld(通过 Homebrew 安装)。

2. 创建或检查 .plist 文件
MySQL 官方安装包通常会自动生成:

ls /Library/LaunchDaemons/com.mysql.mysql.plist

如果不存在,手动创建:

sudo nano /Library/LaunchDaemons/com.mysql.mysqld.plist

写入以下内容(根据实际路径调整):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.mysql.mysqld</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/mysql/bin/mysqld_safe</string>
        <string>--user=mysql</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>WorkingDirectory</key>
    <string>/usr/local/mysql</string>
</dict>
</plist>

3. 加载服务并设置权限

sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysqld.plist
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist

4. 验证是否生效

sudo launchctl list | grep mysql

重启 Mac 后检查 MySQL 是否自动运行:

mysql -u root -p -e "STATUS;"

2.2 通过 Homebrew 设置开机启动(推荐)

如果通过 Homebrew 安装 MySQL,直接使用 brew services 管理:

1. 启动并设置开机自启

brew services start mysql

2. 验证状态

brew services list

输出应包含:

mysql started ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

3. 取消开机启动

brew services stop mysql

2.3 常见问题

  1. 路径错误
    如果报错 mysqld_safe: command not found,检查路径是否正确:

    sudo nano /Library/LaunchDaemons/com.mysql.mysqld.plist
    

    将路径改为实际路径(如 /opt/homebrew/bin/mysqld_safe)。

  2. 权限问题
    确保数据目录权限正确:

    sudo chown -R _mysql:mysql /usr/local/mysql/data
    
  3. 手动启动/停止

    • 启动:
      sudo /usr/local/mysql/support-files/mysql.server start
      
    • 停止:
      sudo /usr/local/mysql/support-files/mysql.server stop
      

通过以上任一方法配置后,MySQL 会在 Mac 启动时自动运行。推荐使用 Homebrew 管理,更简洁高效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2396589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HW系列】—安全设备介绍(开源蜜罐的安装以及使用指南)

文章目录 蜜罐1. 什么是蜜罐&#xff1f;2. 开源蜜罐搭建与使用3. HFish 开源蜜罐详解安装步骤使用指南关闭方法 总结 蜜罐 1. 什么是蜜罐&#xff1f; 蜜罐&#xff08;Honeypot&#xff09;是一种主动防御技术&#xff0c;通过模拟存在漏洞的系统或服务&#xff08;如数据库…

汽车总线分析总结(CAN、LIN、FlexRay、MOST、车载以太网)

目录 一、汽车总线技术概述 二、主流汽车总线技术对比分析 1. CAN总线&#xff08;Controller Area Network&#xff09; 2. LIN总线&#xff08;Local Interconnect Network&#xff09; 3. FlexRay总线 4. MOST总线&#xff08;Media Oriented Systems Transport&#x…

MyBatisPlus--条件构造器及自定义SQL详解

条件构造器 在前面学习快速入门的时候&#xff0c;练习的增删改查都是基于id去执行的&#xff0c;但是在实际开发业务中&#xff0c;增删改查的条件往往是比较复杂的&#xff0c;因此MyBatisPlus就提供了一个条件构造器来帮助构造复杂的条件。 MyBatisPlus支持各种复杂的wher…

OVD开放词汇检测 Detic 训练COCO数据集实践

0、引言 纯视觉检测当前研究基本比较饱和&#xff0c;继续创新提升空间很小&#xff0c;除非在CNN和transformer上提出更强基础建模方式。和文本结合是当前的一大趋势&#xff0c;也是计算机视觉和自然语言处理结合的未来趋势&#xff0c;目前和文本结合的目标检测工作还是有很…

docker、ctr、crictl命令简介与使用

概述 在使用k3s过程中&#xff0c;经常需要使用ctr和crictl两个命令&#xff0c;本文记录一下。 ctr 类似docker命令是docker-shim容器运行时的客户端工具&#xff0c;ctr是Containerd的客户端工具。一个简单的CLI接口&#xff0c;用作Containerd本身的一些调试用途&#xf…

WEB3——什么是ABI

怎么获得ABI&#xff1f; 在编译完合约后&#xff0c;可以在左边下面点击复制ABI ABI&#xff08;Application Binary Interface&#xff0c;应用二进制接口&#xff09;是用来让前端或服务端 JavaScript 代码与智能合约进行交互的桥梁&#xff0c;它描述了合约的函数、事件和…

嵌入式软件--stm32 DAY 8.5 基础复习总结

1.时钟树 在数据手册里面&#xff0c;有一张密密麻麻的图&#xff0c;正是时钟系统里的时钟树。 对于时钟&#xff0c;我们注意有两点。一个是系统时钟SYSCLK,一个是依赖外部晶振生成的RTC. RTC以外部低速晶振作为时钟源或者外部高速晶振128分频后作为时钟源&#xff0c;又或者…

MMRL: Multi-Modal Representation Learning for Vision-Language Models(多模态表示学习)

摘要 预训练的VLMs,对于跨任务的迁移学习至关重要&#xff0c;然而&#xff0c;在few-shot数据集上微调会导致过拟合&#xff0c;降低在新任务上的性能。为解决这个问题&#xff0c;提出一种新的多模态表征学习框架&#xff08;MMRL&#xff09;,该框架引入了一个共享、可学习…

rsync服务的搭建

目录 一、rsync介绍 rsync的安装 二、rsync的语法 三、rsync命令使用 1. 本机同步 2. 远程同步 四、rsync作为服务使用 1、尝试启动rsync程序 2、rsync的配置文件介绍 注意事项&#xff1a; 3. rsyncinotify实时同步 3.依赖服务托管xinetd&#xff08;CentOS 6中rs…

vscode 配置 QtCreat Cmake项目

1.vscode安装CmakeTool插件并配置QT中cmake的路径&#xff0c;不止这一处 2.cmake生成器使用Ninja&#xff08;Ninja在安装QT时需要勾选&#xff09;&#xff0c;可以解决[build] cc1plus.exe: error: too many filenames given; type ‘cc1plus.exe --help’ for usage 编译时…

HTML实现端午节主题网站:龙舟争渡,凭吊祭江诵君赋。

名人说&#xff1a;龙舟争渡&#xff0c;助威呐喊&#xff0c;凭吊祭江诵君赋。——苏轼《六幺令天中节》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、项目概览&#xff1a;传统与现代的技术碰撞1. 核心特…

uniapp uni-id 如果是正式项目,需自行实现发送邮件的相关功能

(3) 使用云对象sendEmailCode 发送邮箱验证码&#xff0c;报错送邮箱验证码失败 Error: 已启动测试模式&#xff0c;直接使用&#xff1a;123456作为邮箱验证码即可。 如果是正式项目&#xff0c;需自行实现发送邮件的相关功能 - DCloud问答 uni-id 没有实现邮箱验证码逻辑&am…

C++学习-入门到精通【12】文件处理

C学习-入门到精通【12】文件处理 目录 C学习-入门到精通【12】文件处理一、文件和流二、创建顺序文件三、从顺序文件读取数据文件定位指针对之前的程序进行修改&#xff1a;贷款查询程序 四、更新顺序文件五、随机存取文件1.创建随机存取文件2.修改程序&#xff1a;贷款处理程序…

记一次 Starrocks be 内存异常宕机

突发性 be 内存飙高&#xff0c;直至被系统 kill 掉&#xff0c;be 内存如下&#xff1a;其中 starrocks_be_update_mem_bytes 指标打满&#xff0c;重启也是如此 [rootlocalhost bin]# curl -XGET -s http://192.168.1.49:8040/metrics | grep "^starrocks_be_.*_mem_b…

LangChain-结合GLM+SQL+函数调用实现数据库查询(一)

业务流程 实现步骤 1. 加载数据库配置 在项目的根目录下创建.env 文件&#xff0c;设置文件内容&#xff1a; DB_HOSTxxx DB_PORT3306 DB_USERxxx DB_PASSWORDxxx DB_NAMExxx DB_CHARSETutf8mb4 加载环境变量&#xff0c;从 .env 文件中读取数据库配置信息 使用 os.getenv…

2025年渗透测试面试题总结-匿名[校招]安全工程师(甲方)(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 匿名[校招]安全工程师(甲方) 1. 介绍自己熟悉的渗透领域 2. 编程语言与开发能力 3. 实习工作内容与流程 …

PySide6 GUI 学习笔记——常用类及控件使用方法(地址类QUrl)

文章目录 地址类QUrl主要功能URL 格式介绍常见 scheme&#xff08;协议&#xff09;类型QUrl 类常用方法常用方法示例典型应用场景 地址类QUrl QUrl 是 PySide6.QtCore 模块中的一个类&#xff0c;用于处理和操作 URL&#xff08;统一资源定位符&#xff09;。它可以解析、构建…

任务23:创建天气信息大屏Django项目

任务描述 知识点&#xff1a; Django 重 点&#xff1a; Django创建项目Django视图函数Django路由Django静态文件Django渲染模板 内 容&#xff1a; 使用PyCharm创建大屏项目渲染大屏主页 任务指导 1. 使用PyCharm创建大屏项目。 创建weather项目配置虚拟环境创建ch…

数学分析——一致性(均匀性)和收敛

目录 1. 连续函数 1.1 连续函数的定义 1.2 连续函数的性质 1.2.1 性质一 1.2.2 性质二 1.2.3 性质三 1.2.4 性质四 2. 一致连续函数 2.1 一致连续函数的定义 2.2 一致连续性定理(小间距定理)(一致连续函数的另一种定义) 2.3 一致连续性判定法 2.4 连…

Flutter GridView网格组件

目录 常用属性 GridView使用配置 GridView.count使用 GridView.extent使用 GridView.count Container 实现列表 GridView.extent Container 实现列表 GridView.builder使用 GridView网格布局在实际项目中用的也是非常多的&#xff0c;当我们想让可以滚动的元素使用矩阵…