相比 DMG 圖形化安裝,官方提供的 Compressed TAR Archive(免安裝二進制包)更輕量、純命令行操作,適合開發者快速部署、版本並存、自動化腳本。本文記錄在 OS X Yosemite 10.10.4 上安裝 mysql-5.6.26-osx10.9-x86_64 的全過程。
OS: OS X Yosemite 10.10.4
MySQL: mysql-5.6.26-osx10.9-x86_64.tar.gz
下載: https://dev.mysql.com/downloads/mysql/
cd ~/Downloads
tar zxvf mysql-5.6.26-osx10.9-x86_64.tar.gz
# 移動到 /usr/local 並改名
sudo mkdir -p /usr/local
sudo mv mysql-5.6.26-osx10.9-x86_64 /usr/local/
cd /usr/local
sudo mv mysql-5.6.26-osx10.9-x86_64 mysql
# 修改擁有者(把 root 改為當前登入用戶,否則啟動報錯)
sudo chown -R $(whoami):wheel mysql
cd /usr/local/mysql
# MySQL 5.6 使用 mysql_install_db 腳本
sudo scripts/mysql_install_db --user=mysql
關鍵輸出:
Installing MySQL system tables... OK
Filling help tables... OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
cd /usr/local/mysql
# 啟動
sudo support-files/mysql.server start
# 重啟
sudo support-files/mysql.server restart
# 停止
sudo support-files/mysql.server stop
成功會顯示 Starting MySQL. SUCCESS!。
cd /usr/local/mysql/bin
./mysqladmin -u root password 'your_strong_password'
./mysql -u root -p
# 輸入密碼後進入 mysql> 提示符
mysql> SELECT VERSION(), USER(), NOW();
+-----------+----------------+---------------------+
| VERSION() | USER() | NOW() |
+-----------+----------------+---------------------+
| 5.6.26 | root@localhost | 2024-01-15 15:00:00 |
+-----------+----------------+---------------------+
# 加入 ~/.bash_profile 或 ~/.zshrc
export PATH="/usr/local/mysql/bin:$PATH"
alias mysql.start="sudo /usr/local/mysql/support-files/mysql.server start"
alias mysql.stop="sudo /usr/local/mysql/support-files/mysql.server stop"
alias mysql.restart="sudo /usr/local/mysql/support-files/mysql.server restart"
生效後可直接在任意目錄使用 mysql、mysqladmin、mysqldump 等命令。
| 現象 | 原因 | 解決 |
|---|---|---|
啟動報 Permission denied | data 目錄擁有者非 mysql/當前用戶 | sudo chown -R $(whoami):wheel /usr/local/mysql/data |
ERROR 2002 (HY000): Can't connect to local MySQL server through socket | 服務未啟動或 socket 路徑不匹配 | 確認 mysql.server start 成功;mysql --socket=/tmp/mysql.sock 指定 socket |
| 忘記 root 密碼 | -- | sudo /usr/local/mysql/support-files/mysql.server stop → sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables & → mysql -u root → FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpwd'; |
# 完全協載
sudo /usr/local/mysql/support-files/mysql.server stop
sudo rm -rf /usr/local/mysql
sudo rm -rf /var/lib/mysql # 若有數據目錄
# 升級:下載新版 tar.gz,解壓覆蓋 /usr/local/mysql,執行 mysql_upgrade
免安裝包方式讓 MySQL 部署如同綠色軟體般靈活,配合版本管理工具(如 dbversion、mysql-version-manager)可輕鬆實現多版本並存與一鍵切換。