首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

macOS 安裝 MySQL 完整圖文教程:官方 DMG 包安裝與配置

     編輯:MySQL 綜合教學

macOS 安裝 MySQL 完整圖文教程:官方 DMG 包安裝與配置

在 macOS 上安裝 MySQL,官方 DMG 安裝包是最穩定、最省心的方式。本文記錄從下載、安裝、啟動配置、環境變量設置、PHP 連接修復到密碼管理的完整流程,適用 macOS 10.12+ 至最新版本(含 Apple Silicon M 系列晶片)。

一、下載官方 DMG 安裝包

  1. 訪問官網:MySQL Community Server Downloads
  2. 選擇作業系統:macOS → 選擇對應版本(DMG Archive)
  3. 下載:mysql--macos-.dmg
    例:mysql-8.0.36-macos14-x86_64.dmg 或 mysql-8.0.36-macos14-arm64.dmg (M 系列晶片)
  4. 無需登入 Oracle 帳號,點選「No thanks, just start my download」

二、安裝流程(雙擊 DMG 內三個包,順序固定)

掛載 DMG 後會出現三個安裝包,必須按以下順序安裝:

  1. mysql--macos-.pkg — 核心資料庫程式,安裝至 /usr/local/mysql- 並建立 /usr/local/mysql 符號鏈接
  2. MySQLStartupItem.pkg — 系統啟動項,使 MySQL 開機自動啟動(安裝至 /Library/StartupItems/MySQLCOM)
  3. MySQL.prefPane — 系統偏好設定面板,提供圖形化啟動/停止/開機自啟開關
💡 提示: 安裝過程會彈出「安裝程式想要安裝新的輔助工具」提示,需輸入 macOS 管理員密碼授權。

三、配置環境變量(讓終端機直接使用 mysql 指令)

# 編輯 shell 配置檔(zsh 為 macOS Catalina+ 預設)
vim ~/.zshrc
# 或 bash
vim ~/.bash_profile

# 添加別名
alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin
alias mysqldump=/usr/local/mysql/bin/mysqldump

# 重新載入配置
source ~/.zshrc
# 或
source ~/.bash_profile

# 測試
mysql --version
# mysql  Ver 8.0.36 for macos14.2 on x86_64 (MySQL Community Server - GPL)

四、初始化與 Root 密碼設置

MySQL 5.7 / 8.0 新版本特性:

  • 安裝結束時會彈出臨時 root 密碼對話框,務必截圖或複製保存
  • 或查看安裝日誌:cat /tmp/mysql_install.log | grep 'temporary password'

首次登入並修改密碼:

# 使用臨時密碼登入
mysql -u root -p
# 輸入臨時密碼

# 修改密碼(MySQL 5.7+)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPassword123!';

# 或使用 mysqladmin(舊版相容)
mysqladmin -u root -p'TempPassword' password 'NewStrongPassword123!'

# 刷新權限
FLUSH PRIVILEGES;

五、啟動/停止/重啟 MySQL 服務

方式啟動停止重啟狀態
系統偏好設定點擊 MySQL 圖示 → Start/Stop MySQL Server、勾選 Automatically Start MySQL Server on Startup
命令列 (launchctl)sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plistsudo launchctl unload /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist停止後啟動sudo launchctl list | grep mysql
mysql.server 腳本sudo /usr/local/mysql/support-files/mysql.server startsudo /usr/local/mysql/support-files/mysql.server stopsudo /usr/local/mysql/support-files/mysql.server restartsudo /usr/local/mysql/support-files/mysql.server status

六、PHP 連接 MySQL Socket 路徑問題修復

問題: PHP 預設尋找 /var/mysql/mysql.sock,但 macOS MySQL 實際建立在 /tmp/mysql.sock,導致 Can't connect to local MySQL server through socket '/var/mysql/mysql.sock'

解決方案:修改 php.ini

# 找到 php.ini 位置
php --ini
# 載入的配置檔: /usr/local/etc/php/8.2/php.ini

# 編輯修改
vim /usr/local/etc/php/8.2/php.ini

# 找到並修改以下兩行(取消註釋並修改)
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket = /tmp/mysql.sock

# 重啟 PHP-FPM / Apache 生效
brew services restart php@8.2
# 或
sudo apachectl restart

替代方案:建立軟連結

sudo mkdir -p /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
# 需確保 _mysql 用戶有權限訪問 /tmp/mysql.sock

七、常見問題與解決

  1. M 系列晶片 (Apple Silicon) 安裝 x86_64 版: 可透過 Rosetta 2 運行,但建議下載 arm64 原生版效能更好
  2. 端口衝突 (3306 被佔用): lsof -i :3306 找到進程殺掉,或修改 /usr/local/mysql/my.cnf 端口
  3. 權限不足無法啟動: sudo chown -R _mysql:_mysql /usr/local/mysql/data
  4. 忘記 root 密碼: 以 --skip-grant-tables 啟動 → 免密登入 → 修改密碼 → 正常重啟
  5. 完全卸載:
    sudo /usr/local/mysql/support-files/mysql.server stop
    sudo rm -rf /usr/local/mysql*
    sudo rm -rf /Library/StartupItems/MySQLCOM
    sudo rm -rf /Library/PreferencePanes/MySQL.prefPane
    sudo rm -rf /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
    sudo rm -rf /var/mysql
    # 移除環境變量別名
    

八、Homebrew 安裝替代方案(開發者首選)

# 安裝
brew install mysql@8.0  # 或 mysql@5.7

# 啟動服務
brew services start mysql@8.0

# 設置密碼(brew 安裝預設無密碼)
mysql_secure_installation

# 環境變量(brew 自動處理,通常無需手動配置)
echo 'export PATH="/usr/local/opt/mysql@8.0/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
💡 推薦: 開發環境強烈建議使用 brew install mysql,版本管理、升級、多版本切換、服務管理極其方便。生產環境或需精確控制版本時使用官方 DMG。

完成上述步驟,您的 macOS 即擁有一個穩定、可圖形化管理、命令列友好的 MySQL 開發環境。建議配合 MySQL Workbench、Sequel Ace、TablePlus 等 GUI 工具提升開發效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved