有關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服務器是否已設置爲自動啓動的當前設置。