MySQL 分為客戶端程式與服務端進程,各自擁有獨立命令集。熟練掌握這些命令能大幅提升日常運維與開發調試效率。本文系統整理高頻實用命令,並附帶實戰場景說明。
在用戶家目錄建立 .my.cnf(權限 600):
[client] user = root password = your_password host = localhost
後續直接輸入 mysql 即可自動登入。
mysql -D database_name
登入後驗證:SELECT DATABASE();
mysql < /path/to/script.sqlSOURCE /path/to/script.sql 或 \. /path/to/script.sql| 命令 | 功能 | 範例 |
|---|---|---|
| \c | 取消當前語句輸入 | 多行輸入中途想放棄 |
| \d | 修改語句結束符 | \d ;; 改用雙分號結尾 |
| \g | 執行當前語句(忽略結束符) | 配合 \d 使用 |
| \G | 垂直顯示結果(適合寬表) | SELECT * FROM users\G |
| \q | 退出客戶端 | 同 quit/exit |
| \! cmd | 執行 Shell 命令 | \! ls -l /tmp |
所有命令格式:mysqladmin -u root -p [options] command
| 命令 | 用途 | 備註 |
|---|---|---|
| password 'newpwd' | 修改 root 密碼 | 等同 UPDATE user |
| version | 查看版本與運行狀態 | 含 uptime、threads 等 |
| status | 簡要運行狀態 | Queries per second 等關鍵指標 |
| extended-status | 完整狀態變量 | 配合 grep 監控特定指標 |
| variables | 查看服務端變量 | 含全域/會話級參數 |
| flush-privileges | 重讀授權表 | 等同 FLUSH PRIVILEGES |
| flush-status | 重置狀態計數器 | 基準測試前常用 |
| processlist | 查看當前執行緒 | 排查長查詢、鎖等待 |
| refresh | 刷新 host 快取、滾動日誌 | 等同 flush-logs + flush-hosts |
| start-slave / stop-slave | 控制主從同步執行緒 | 從庫維護常用 |
SET GLOBAL var=value 立即生效,影響所有新連線。查看:SHOW GLOBAL VARIABLES;SET SESSION var=value 僅影響當前連線。查看:SHOW SESSION VARIABLES; 或 SHOW VARIABLES;SELECT @@global.var_name; / SELECT @@session.var_name;(或 @@var_name 默認會話級)。SHOW TABLE STATUS LIKE 'user'; -- 支援模糊匹配 SHOW CREATE TABLE table_name; -- 看建表語句、字符集、引擎 DESC table_name; -- 簡要欄位資訊
熟練運用上述命令,讓你從「會用 MySQL」進階到「精通 MySQL 運維」。