有关MySQL服务器支持的macOS版本列表,请参阅https://www.mysql.com/support...。html
用于macOS的MySQL有多种不一样的形式:mysql
你应该记住如下问题和注意事项:sql
Homebrew:例如,若是你使用Homebrew将MySQL Server安装到其默认位置,则MySQL安装程序将安装到其余位置,而且不会从Homebrew升级版本。在这种状况下,你最终会遇到多个MySQL安装,默认状况下会尝试使用相同的端口。在运行此安装程序以前中止其余MySQL Server实例,例如执行brew services stop mysql以中止Homebrew的MySQL服务。shell
mysql
用户应该已经存在。要在单用户模式下使用,_mysql
的条目(注意下划线前缀)应该已存在于系统/etc/passwd
文件中。datadir
值以设置数据目录的位置,默认状况下,MySQL目录安装在/usr/local/
下。别名:你可能但愿在shell的资源文件中添加别名,以便更轻松地从命令行访问经常使用程序,如mysql
和mysqladmin
,bash的语法是:数据库
alias mysql=/usr/local/mysql/bin/mysql alias mysqladmin=/usr/local/mysql/bin/mysqladmin
对于tcsh,请使用:bash
alias mysql /usr/local/mysql/bin/mysql alias mysqladmin /usr/local/mysql/bin/mysqladmin
更好的是,将/usr/local/mysql/bin
添加到PATH
环境变量中,你能够经过修改shell的相应启动文件来完成此操做。服务器
/Library/Receipts/mysql-VERSION.pkg
中的旧版本的Package Receipt目录。该软件包位于磁盘映像(.dmg
)文件中,你首先须要经过在Finder中双击其图标来装载该文件,而后它应该挂载映像并显示其内容。oracle
在继续安装以前,请确保经过使用MySQL Manager应用程序(在macOS Server上)、首选项窗格或在命令行上使用
mysqladmin shutdown
来中止全部正在运行的MySQL服务器实例。
要使用软件包安装程序安装MySQL:app
.dmg
)文件(此处提供社区版本),双击该文件以装入磁盘映像并查看其内容。双击磁盘中的MySQL安装程序包,它根据你下载的MySQL版本命名,例如,对于MySQL服务器8.0.19,它可能被命名为mysql-8.0.19-osx-10.13-x86_64.pkg
。socket
MySQL社区版显示了相关GNU通用公共许可证的副本,单击Continue,而后单击Agree继续。
虽然能够看到Change Install Location选项,但没法更改安装位置。
MySQL软件包安装程序向导:安装类型
MySQL包安装程序向导:自定义
caching_sha2_password
(强),此步骤容许你将其更改成mysql_native_password
(遗留)。选择旧密码机制会更改生成的launchd文件以在ProgramArguments
下设置--default_authentication_plugin=mysql_native_password
。选择强密码加密不会设置--default_authentication_plugin
,由于使用了默认的MySQL Server值,即caching_sha2_password
。
MySQL服务器现已安装,若是你选择不启动MySQL,则使用命令行中的launchctl或使用MySQL首选项窗格单击Start启动MySQL,使用MySQL Preference Pane或launchd将MySQL配置为在启动时自动启动。
使用软件包安装程序进行安装时,文件将安装到/usr/local
中与安装版本和平台名称相匹配的目录中。例如,安装程序文件mysql-8.0.19-osx10.13-x86_64.dmg
将MySQL安装到/usr/local/mysql-8.0.19-osx10.13-x86_64/
,并带有符号连接到/usr/local/mysql
,下表显示了此MySQL安装目录的布局。
目录 | 目录的内容 |
---|---|
bin |
mysqld 服务器、客户端和实用程序 |
data |
日志文件、数据库,其中/usr/local/mysql/data/mysqld.local.err 是默认错误日志 |
docs |
帮助文档,如发行说明和构建信息 |
include |
包含(头)文件 |
lib |
库 |
man |
Unix手册页 |
mysql-test |
MySQL测试套件(使用安装程序包(DMG)时,在安装过程当中默认禁用'MySQL Test') |
share |
其余支持文件,包括错误消息、示例配置文件、用于数据库安装的SQL |
support-files |
脚本和示例配置文件 |
/tmp/mysql.sock |
MySQL Unix socket的位置 |
macOS使用启动守护程序自动启动、中止和管理MySQL等进程和应用程序。
默认状况下,macOS上的安装包(DMG)会安装名为/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
的launchd文件,其中包含相似于如下内容的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_file=keyring_file.so</string> </array> <key>WorkingDirectory</key> <string>/usr/local/mysql</string> </dict> </plist>
一些用户报告说,添加plist DOCTYPE声明会致使launchd操做失败,尽管它经过了lint检查,怀疑这是一个copy-n-paste错误,包含上述代码段的文件的md5校验和是 d925f05f6d1b6ee5ce5451b596d6baed。
要启用launchd服务,你能够:
data/
目录,Uninstall卸载MySQL Server以及可选的MySQL首选项面板和launchd信息。或者,手动加载launchd文件。
shell> cd /Library/LaunchDaemons shell> sudo launchctl load -F com.oracle.oss.mysql.mysqld.plist
要将MySQL配置为在启动时自动启动,你能够:
shell> sudo launchctl load -w com.oracle.oss.mysql.mysqld.plist
升级MySQL服务器时,launchd安装过程将删除使用MySQL服务器5.7.7及更低版本安装的旧启动项,此外,升级将替换名为
com.oracle.oss.mysql.mysqld.plist
的现有launchd文件。
额外启动相关信息:
my.cnf
条目,由于它们做为命令行参数传入。mysqld
二进制文件。my.cnf
。由于默认的plist定义定义了几个ProgramArguments,因此你能够删除大多数这些参数,而是依赖你的my.cnf
MySQL配置文件来定义它们。例如:
<?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_file=keyring_file.so</string> </array> <key>WorkingDirectory</key> <string>/usr/local/mysql</string> </dict> </plist>
在这种状况下,basedir
、datadir
、plugin_dir
、log_error
、pid_file
,keyring_file_data
和--early-plugin-load
选项已从默认的plist ProgramArguments定义中删除,你可能已经在my.cnf
中定义了该定义。
MySQL安装包包含一个MySQL首选项窗格,使你能够在启动MySQL安装期间启动、中止和控制自动启动。
此首选项窗格默认安装,并列在系统的“系统偏好设置”窗口下。
MySQL首选项窗格安装有安装MySQL Server的相同DMG文件,一般它与MySQL Server一块儿安装,但它也能够本身安装。
要安装MySQL首选项窗格:
完成安装过程。
MySQL首选项窗格仅启动和中止从已安装在默认位置的MySQL软件包安装中安装的MySQL安装。
安装MySQL首选项窗格后,你可使用此首选项窗格控制MySQL服务器实例。
Instances页面包含启动和中止MySQL的选项,Initialize Database从新建立data/目录,Uninstall卸载MySQL Server以及可选的MySQL首选项面板和launchd信息。
Configuration页面显示MySQL Server选项,包括MySQL配置文件的路径。
MySQL首选项窗格显示MySQL服务器的当前状态,若是服务器未运行,则显示stopped(红色),若是服务器running,则运行(绿色),首选项窗格还显示MySQL服务器是否已设置为自动启动的当前设置。