在macOS上安装MySQL

article/2025/8/6 0:02:56

macOS的MySQL有多种不同的形式:

1、本机包安装程序,它使用本机macOS安装程序(DMG)引导您完成MySQL的安装。有关详细信息,请参阅第2.4.2节,“使用本机包在macOS上安装MySQL”。您可以将包安装程序与macOS一起使用。用于执行安装的用户必须具有管理员权限。

2、压缩tar文件,它是使用Unixtar和gzip命令打包的文件。要使用此方法,您需要打开一个终端窗口。使用此方法不需要管理员权限;您可以使用此方法在任何地方安装MySQL服务器。

在macOS上安装MySQL的一般注意事项

您应该牢记以下问题和注意事项:

1、其他 MySQL 安装:本安装程序无法识别通过包管理器(如 Homebrew)安装的 MySQL。此安装和升级过程仅适用于我们提供的 MySQL 包。如果存在其他 MySQL 安装,请在执行此安装程序之前考虑停止它们,以避免端口冲突。

Homebrew :例如,如果你使用 Homebrew 将 MySQL Server 安装到了默认位置,那么官方的 MySQL 安装程序会将其安装到不同的位置,并且不会升级通过 Homebrew 安装的版本。在这种情况下,你会最终拥有多个 MySQL 安装,默认情况下它们会尝试使用相同的端口。在运行官方安装程序之前,请停止其他 MySQL Server 实例,例如通过执行 brew services stop mysql 来停止 Homebrew 的 MySQL 服务。

2、Launchd:启动守护进程
一个 launchd 守护进程已安装,它会修改 MySQL 的配置选项。如果需要,建议你编辑该守护进程的配置文件。有关更多信息,请参阅下方的文档。此外,macOS 10.10 及之后的版本移除了对传统启动项的支持,转而使用 launchd 守护进程来管理服务。macOS 系统偏好设置中的可选 MySQL 面板也依赖于 launchd 守护进程。

3、用户:您可能需要(或想要)创建一个特定的mysql用户来拥有MySQL目录和数据。您可以通过目录实用程序来执行此操作,并且mysql用户应该已经存在。对于单用户态,_mysql(注意下划线前缀)的条目应该已经存在于系统/etc/passwd文件中。

4、数据:因为MySQL安装程序将MySQL内容安装到特定于版本和平台的目录中,您可以使用它在版本之间升级和迁移数据库。您需要将data目录从旧版本复制到新版本,或者指定一个替代的datadir值来设置数据目录的位置。默认情况下,MySQL目录安装在/usr/local/下。

5、别名:您可能希望将别名添加到shell的资源文件中,以便更容易从命令行访问常用的程序,如mysql和mysqladmin。bash的语法是:

alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin

对于tcsh,使用:

alias mysql /usr/local/mysql/bin/mysql
alias mysqladmin /usr/local/mysql/bin/mysqladmin

更好的是,将/usr/local/mysql/bin添加到您的PATH环境变量中。您可以通过修改shell的适当启动文件来做到这一点。

6、删除:从以前的安装中复制MySQL数据库文件并成功启动新服务器后,您应该考虑删除旧的安装文件以节省磁盘空间。此外,您还应该删除/Library/Receipts/mysql-VERSION.pkg中的旧版本的包收据目录。

使用本机包在macOS上安装MySQL

包位于磁盘图像(.dmg)文件中,您首先需要通过双击Finder中的图标挂载该文件。然后它应该挂载镜像并显示其内容。在继续安装之前,请务必使用MySQL管理器应用程序(在macOS服务器上)、首选项窗格或命令行上的mysqladmin关闭来停止所有正在运行的MySQL服务器实例。

要使用包安装程序安装MySQL步骤:

1、下载包含MySQL包安装程序的磁盘镜像(.dmg)文件。双击该文件以挂载磁盘映射文件并查看其内容。双击磁盘中的MySQL安装程序包。它是根据您下载的MySQL版本命名的。例如,对于MySQL服务器8.4.3它可能被命名为mysql-8.4.3-macos-10.13-x86_64.pkg

2、初始向导引导您要安装的MySQL服务器版本。单击继续开始安装。MySQL社区版显示相关GNU通用公共许可证的副本。单击继续,然后单击同意继续。

3、在Installation Type页面中,您可以单击Install以使用所有默认值执行安装向导,单击Customize以更改要安装的组件(MySQL服务器、MySQL测试、首选项窗格、Launchd支持-除默认启用MySQL测试之外的所有组件)。尽管更改安装位置选项可见,但无法更改安装位置。

图2.5MySQL包安装向导:自定义

4、单击install按钮以开始安装MySQL服务器。如果升级当前MySQL服务器安装,安装过程将在此结束,否则按照向导的其他配置步骤安装新的MySQL服务器。

5、成功安装新MySQL服务器后,通过定义root密码并在启动时启用(或禁用)MySQL服务器来完成配置。

6、设置 root 用户密码并配置 MySQL 服务器是否在配置完成后自动启动

7、在 MySQL Server 安装完成后,概述(Summary) 是安装向导的最后一步。这一步确认了 MySQL Server 已成功安装并配置完毕。点击Close按钮关闭此向导

MySQL服务器现已安装完成。如果安装时您选择了不启动MySQL,则可以使用命令行中的Launchctl或通过使用MySQL首选项窗口中单击“开始”来启动MySQL。

在使用包安装程序进行安装时,文件会被安装到 /usr/local 目录下的一个与安装版本和平台名称相匹配的目录中。例如,安装文件 mysql-8.4.3-macos10.15-x86_64.dmg 会将 MySQL 安装到 /usr/local/mysql-8.4.3-macos10.15-x86_64/ 目录,并创建一个指向 /usr/local/mysql 的符号链接。下表展示了该 MySQL 安装目录的布局。macOS安装过程不会创建或安装示例my.cnf MySQL配置文件。

表2.6MySQLmacOS上的安装布局

目录目录的内容
binmysqld服务器,客户端和实用程序
data日志文件,数据库,其中/usr/local/mysql/data/mysqld.local.err是默认的错误日志
docs帮助文档,如发行说明和构建信息
include包含(表头)文件
lib
manUnix手册页
mysql-testMySQL测试套件(使用安装程序包(DMG)时,“MySQL测试”在安装过程中默认禁用)
share其他支持文件,包括错误消息,dictionary.txt和重写SQL
support-files支持脚本,如mysqld_multi.servermysql.servermysql-log-rotate.
/tmp/mysql.sockLocation of the MySQL Unix socket

安装和使用MySQL启动守护程序

macOS使用启动守护进程来自动启动、停止和管理进程和应用程序,例如MySQL。

默认情况下,macOS上的安装包(DMG)会安装一个名为/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist的启动文件,其中包含类似于以下内容的plist定义:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict><key>Label</key>             <string>com.oracle.oss.mysql.mysqld</string><key>ProcessType</key>       <string>Interactive</string><key>Disabled</key>          <false/><key>RunAtLoad</key>         <true/><key>KeepAlive</key>         <true/><key>SessionCreate</key>     <true/><key>LaunchOnlyOnce</key>    <false/><key>UserName</key>          <string>_mysql</string><key>GroupName</key>         <string>_mysql</string><key>ExitTimeOut</key>       <integer>600</integer><key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string><key>ProgramArguments</key><array><string>/usr/local/mysql/bin/mysqld</string><string>--user=_mysql</string><string>--basedir=/usr/local/mysql</string><string>--datadir=/usr/local/mysql/data</string><string>--plugin-dir=/usr/local/mysql/lib/plugin</string><string>--log-error=/usr/local/mysql/data/mysqld.local.err</string><string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string><string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string><string>--early-plugin-load=keyring_okv=keyring_okv.so</string></array><key>WorkingDirectory</key>  <string>/usr/local/mysql</string>
</dict>
</plist>

一些用户报告说,添加plist DOCTYPE声明会导致Launchd操作失败,尽管它通过了lint检查。我们怀疑这是一个n-粘贴错误。包含上述片段的文件的md5校验和d925f05f6d1b6ee5ce5451b596d6baed。

要启用启动服务,您可以:

1、打开macOS系统首选项并选择MySQL首选项面板,然后执行启动MySQL服务器。

图2.6MySQL首选项窗格:位置

[实例]页面包含启动或停止MySQL的选项,初始化数据库重新创建data/目录。[卸载]卸载MySQL服务器和可选的MySQL首选项面板和启动信息。

图2.7MySQL首选项窗格:实例

 2、或者,手动加载启动文件。

$> cd /Library/LaunchDaemons
$> sudo launchctl load -F com.oracle.oss.mysql.mysqld.plist

升级过程将替换现有的名为com.oracle.oss.mysql.mysqld.plist的启动文件。

附加启动相关信息:

1、plist条目覆盖my.cnf条目,因为它们作为命令行参数传入。

2、在ProgramArguments部分定义了传递到程序中的命令行选项,在本例中是mysqld二进制文件。

3、默认的plist定义是在考虑不太复杂的用例的情况下编写的。对于更复杂的设置,您可能希望删除一些参数,而是依靠MySQL配置文件,例如my.cnf

4、如果编辑plist文件,请在重新安装或升级MySQL时取消选中安装程序选项。否则,您编辑的plist文件将被覆盖,所有编辑都将丢失。

因为默认plist定义定义了几个ProgramArguments,所以您可以删除这些参数中的大部分,而是依靠您的my.cnfMySQL配置文件来定义它们。例如:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict><key>Label</key>             <string>com.oracle.oss.mysql.mysqld</string><key>ProcessType</key>       <string>Interactive</string><key>Disabled</key>          <false/><key>RunAtLoad</key>         <true/><key>KeepAlive</key>         <true/><key>SessionCreate</key>     <true/><key>LaunchOnlyOnce</key>    <false/><key>UserName</key>          <string>_mysql</string><key>GroupName</key>         <string>_mysql</string><key>ExitTimeOut</key>       <integer>600</integer><key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string><key>ProgramArguments</key><array><string>/usr/local/mysql/bin/mysqld</string><string>--user=_mysql</string><string>--basedir=/usr/local/mysql</string><string>--datadir=/usr/local/mysql/data</string><string>--plugin-dir=/usr/local/mysql/lib/plugin</string><string>--log-error=/usr/local/mysql/data/mysqld.local.err</string><string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string><string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string><string>--early-plugin-load=keyring_okv=keyring_okv.so</string></array><key>WorkingDirectory</key>  <string>/usr/local/mysql</string>
</dict>
</plist>

在这种情况下,basedir、datadir、plugin_dir、log_error、pid_file和--early-plugin-load选项已从默认的plistProgramArguments定义中删除,您可以在my. cnf中定义他们。

安装和使用MySQL首选项窗口

MySQL安装包包括一个MySQL首选项窗口,使您能够在MySQL安装启动期间启动、停止和控制自动启动。

此首选项窗口是默认安装的,列在系统的系统首选项窗口下。

图2.8MySQL首选项窗格:位置

MySQL首选项窗格与安装MySQL服务器的DMG文件一起安装。通常它与MySQL服务器一起安装,但它也可以自行安装。

要安装MySQL首选项窗格:

1、完成安装MySQL服务器的过程

2、单击安装类型步骤中的自定义。此处列出了“首选项窗格”选项并默认启用;确保它没有被取消选择。可以选择或取消选择其他选项,例如MySQL服务器。

图2.9MySQL包安装向导:自定义

3、完成安装过程。MySQL首选项窗格仅启动和停止MySQL从已安装在默认位置的MySQL包安装安装的安装。

安装MySQL首选项窗格后,您可以使用此首选项窗格控制MySQL服务器实例。

[实例]页面包含启动或停止MySQL的选项,初始化数据库重新创建data/目录。[卸载]卸载MySQL服务器和可选的MySQL首选项面板和启动信息。

图2.10MySQL首选项窗格:实例

配置页面显示MySQL服务器选项,包括MySQL配置文件的路径。

图2.11MySQL首选项窗格:配置

MySQL首选项窗格显示MySQL服务器的当前状态,如果服务器没有运行,则显示已停止(红色),如果服务器已经启动,则显示正在运行(绿色)。首选项窗格还显示MySQL服务器是否已设置为自动启动的当前设置。


http://www.hkcw.cn/article/imNjKfYLvf.shtml

相关文章

2024年博客之星主题创作|Android 开发:前沿技术、跨领域融合与就业技能展望

目录 引言 一、推动 Android 应用创新的核心力量 1.1 人工智能与机器学习的崛起 1.2 增强现实&#xff08;AR&#xff09;与虚拟现实&#xff08;VR&#xff09;的应用扩展 1.3 5G技术的推动 1.4 跨平台开发技术的成熟 1.4.1 React Native 1.4.2 Flutter 1.4.3 Taro …

中兴B862AV3.2M刷机包晨星MSO9385_2+8_安卓9_免拆机免打开ADB固件包

在开始刷机之前&#xff0c;请务必确认你的设备型号为中兴 B862AV3.2M 且搭载晨星处理器&#xff0c;同时备份好设备中的重要数据&#xff0c;刷机有风险&#xff0c;操作需谨慎&#xff01;以下是详细的刷机步骤&#xff1a; 一、准备工作 下载刷机固件&#xff1a;从可靠的来…

计算机网络:TCP/IP协议(从 MAC 地址到 VLAN 标签:数据链路层如何重构网络拓扑逻辑)

目录 前言数据链路层MAC地址共享介质型网络争用方式令牌传递方式 非共享介质网络根据MAC地址进行转发环路检测技术生成树源路由法 VLAN以太网帧格式 总结写在文末 前言 本期开始将分层进行讲解OSI参考模型或者TCP/IP参考模型&#xff0c;从数据链路到应用层&#xff0c;本期先…

基于 LLM 的商城智能客服助理开发实战

参考LLM开源文档 Datawhale LLM教程&#x1f310;&#x1f4da; 文章目录 &#x1f4a1;实现思路&#x1f680;实现步骤&#x1f4ca; 数据集介绍⚙️ 数据处理&#x1f4dd; 评估输入&#x1f50d; 提取商品关键词&#x1f50d; 检索商品信息&#x1f4dd; 生成并评估回答✨ …

电子电器架构 --- OTA测试用例分析(中)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…

安卓逆向篇LSP 模块HOOK 添加技术绕过检测算法解密逻辑验证

前置解释&#xff1a; 0 、 Magisk &#xff1a; 是当前 Android 社区用来获取 root 权限的主流方式开源工具 1 、 LSP 框架&#xff1a; XPosed 框架因只支持安卓 8 及以下&#xff0c;故高版本应使用 MagiskLSPosed 2 、 HOOK 技术&#xff1a; 钩子技术&…

网络攻防技术一:绪论

文章目录 一、网络空间CyberSpace1、定义2、基本四要素 二、网络空间安全1、定义2、保护对象3、安全属性4、作用空间 三、网络攻击1、攻击分类2、攻击过程 四、网络防护1、定义2、安全模型3、安全服务5类4、特定安全机制8种5、普遍性安全机制5种 五、网络安全技术发展简史1、第…

李臻20242817_安全文件传输系统项目报告_第14周

安全文件传输系统项目报告&#xff08;第 14 周&#xff09; 1. 代码链接 Gitee 仓库地址&#xff1a;https://gitee.com/li-zhen1215/homework/tree/master/Secure-file 代码结构说明&#xff1a; SecureFileTransfer/ ├── client/ # 客户端主目…

分布式流处理与消息传递——Paxos Stream 算法详解

Java 实现 Paxos Stream 算法详解 一、Paxos Stream 核心设计 #mermaid-svg-cEJcmpaQwLXpEbx9 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-cEJcmpaQwLXpEbx9 .error-icon{fill:#552222;}#mermaid-svg-cEJcmpaQw…

设计模式——观察者设计模式(行为型)

摘要 本文详细介绍了观察者设计模式&#xff0c;包括其定义、结构、实现方式、适用场景以及实战示例。通过代码示例展示了如何在Spring框架下实现观察者模式&#xff0c;以及如何通过该模式实现状态变化通知。同时&#xff0c;对比了观察者模式与消息中间件在设计理念、耦合程…

Android基础入门:dataBinding的简单使用

1.2修改布局文件 选中布局文件的第一行&#xff0c;按alterenter就会弹出提示&#xff0c;默认选中data binding layout 改造好的的新的布局文件里最大的变化就是多了一对<data></data>标签&#xff1b;很容易想到这是为了实现布局文件里数据和布局的分离&#xff…

在Android设置界面中实现颜色选择器

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;在Android开发中&#xff0c;颜色选择器是设置界面中实现用户自定义界面主题色或字体颜色的常用功能。本教程详细介绍了如何设计颜色选择器布局&#xff0c;通过 GridView 或 RecyclerView 展示颜色列表&am…

小程序微信认证/年审流程

看清楚文字描述&#xff0c;别光看图&#xff0c;图并不一定准确&#xff0c;按照你想填写的填写、&#xff0c;本教程只是提供一个参考。 1.登录微信公众平台 : 微信公众平台【← ←点击这个蓝色字体】&#xff08;选择正确的小程序&#xff09;&#xff0c;或者根据第三方…

macOS版本微信 4.0 之后,双开策略

从 macOS 版本微信 3.0 升级到 4.0 之后&#xff0c;之前的双开策略实效了。 当然期待微信能够让之前方法回归。这是最理想的。 咱也该自己动手丰衣足食 &#xff5e;&#xff5e;&#xff5e; 第一步 创建微信的「分身」 sudo cp -R /Applications/WeChat.app /Applicati…

EasyPlayer-RTSP-Android:一款强大的流媒体播放器

EasyPlayer-RTSP-Android&#xff1a;一款强大的流媒体播放器 【下载地址】EasyPlayer-RTSP-Android一款强大的流媒体播放器 EasyPlayer-RTSP-Android 是一款功能强大的 Android 流媒体播放器&#xff0c;支持 RTSP、RTMP、HLS 和 HTTP 等多种协议&#xff0c;适用于各种音视频…

mac怎么安装pycharm?

安装步骤&#xff1a;1、打开PyCharm官网&#xff0c;在官网首页点击“下载”按钮&#xff0c;选择“MacOS”版本进行下载&#xff1b;2、双击打开安装包&#xff0c;将PyCharm拖动到应用程序文件夹中&#xff1b;3、根据提示进行安装&#xff0c;在第一次运行PyCharm时&#x…

【工具】Raycast – Mac提效工具

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 引入 以前看到同事们锁屏的时候,不知按了什么键,直接调出这个框,然后输入lock屏幕就锁了。 跟我习惯的按Mac开机键不大一样。个人觉得还…

【实测可用】Sublime Text4 4169 mac/windows 破解注册 20240417 实测可用

官网下载Sublime Text4 官网地址&#xff1a;https://www.sublimetext.com/ 点击下载即可 不用安装&#xff0c;可以直接使用。 MAC 破解注册 修改可执行文件sublime_text 打开网站https://hexed.it/。找到sublime所在目录&#xff0c;比如我这里是&#xff1a;/Users/xxx/s…

小程序快速实现大模型聊天机器人

需求分析&#xff1a; 基于大模型&#xff0c;打造一个聊天机器人&#xff1b;使用开放API快速搭建&#xff0c;例如&#xff1a;讯飞星火&#xff1b;先实现UI展示&#xff0c;在接入API。 最终实现效果如下&#xff1a; 一.聊天机器人UI部分 1. 创建微信小程序&#xff0c…

iOS全能签使用全攻略

适用系统&#xff1a;iOS 12及以上设备 全能签是一款免费免越狱的IPA签名工具&#xff0c; 支持一键签名、多开安装、插件注入等功能&#xff0c;无需联网即可使用。 哈士奇软件源&#xff08;解锁更多资源&#xff09;&#xff1a;https://yuan.ioska.cn/appstore &#xff0…