雖然 MySQL Workbench、Sequel Pro 等視覺化工具操作直觀,但透過終端指令管理 MySQL 能更深入理解資料庫運作機制。對於開發者而言,指令操作不僅能強化核心觀念,更能在無圖形介面的伺服器環境中遊刃有餘。本文整理了 Mac 環境下最常用的終端管理指令,涵蓋服務控制、帳號維護、登入優化與資料匯入匯出,供開發者隨時查閱。
在 Mac 上,MySQL 服務的啟動、停止與重啟均需透過 sudo 執行,路徑預設為 /Library/StartupItems/MySQLCOM/MySQLCOM。
$ sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
執行後需輸入系統管理員密碼。
$ sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
只需將 start 改為 stop 即可。
$ sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
實務上若遇到連線異常,直接下 restart 通常最有效。
除了終端,也可在「系統偏好設定」中找到 MySQL 圖示,以圖形介面切換服務狀態。
登入 MySQL 後執行:
mysql> select version();
輸出範例:
+-----------+ | version() | +-----------+ | 5.6.20 | +-----------+
若已知原密碼,可使用 mysqladmin 快速變更:
$ /usr/local/mysql/bin/mysqladmin -u root -p password '新密碼' Enter password: <輸入舊密碼>
注意: 終端會提示 Warning: Using a password on the command line interface can be insecure. 此為安全性警告,操作仍會生效。
首先確認 PATH 是否已包含 MySQL 執行路徑 /usr/local/mysql/bin:
$ echo $PATH
若無,需手動加入:
$ PATH="$PATH":/usr/local/mysql/bin
驗證是否生效:
$ which mysql /usr/local/mysql/bin/mysql
之後即可用標準指令登入:
$ mysql -u root -p
缺點: 此設定僅在當前終端 Session 有效,關閉視窗後失效。
臨時別名(關閉終端失效):
$ alias mysql=/usr/local/mysql/bin/mysql
永久別名(寫入 Shell 設定檔):
~/.bash_profile(macOS)或 ~/.bashrc(Ubuntu):$ vi ~/.bash_profile
alias mysql='/usr/local/mysql/bin/mysql'
$ source ~/.bash_profile
之後直接輸入 mysql -u root -p 即可登入,輸入 alias 可查看所有別名。
不想設定別名時,可直接呼叫完整路徑:
$ /usr/local/mysql/bin/mysql -u root -p
核心工具為 mysqldump,預設路徑 /usr/local/mysql/bin/mysqldump。建議先設定別名:
alias mysqldump='/usr/local/mysql/bin/mysqldump'
語法:
mysqldump -u root -p <資料庫名> <資料表名> > <輸出檔名>.sql
範例:匯出 test 資料庫的 CLASS 資料表:
$ mysqldump -u root -p test CLASS > class.sql Enter password: <輸入 root 密碼>
檔案會輸出至終端當前目錄(可用 pwd 確認)。
先進入目標資料庫,再使用 source 指令:
mysql> use 目標資料庫; mysql> source /完整/路徑/檔名.sql
也支援 .dump 副檔名檔案。
若誤刪資料或資料表,可用重導向方式還原:
$ mysql -u root -p 目標資料庫 < 備份檔.sql Enter password: <輸入 root 密碼>
熟練終端指令能讓你在任何環境下掌控 MySQL。下一篇將介紹終端下的 SQL 基礎操作,敬請期待。