環境變數
| 變數名 | 用途 |
MYSQL_UNIX_PORT | 預設 Unix socket 路徑 (連接 localhost) |
MYSQL_TCP_PORT | 預設 TCP 連接埠 (預設 3306) |
MYSQL_PWD | 預設密碼 (**不安全,勿使用**) |
MYSQL_DEBUG | 除錯追蹤選項 |
TMPDIR | 暫存表/檔案建立目錄 |
mysql 客戶端歷史檔:$HOME/.mysql_history (可用 MYSQL_HISTFILE 指定)。
核心工具程式速查
| 程式 | 功能 | 關鍵用法 |
| mysql | 互動式/批次 SQL 客戶端 | mysql db < script.sql > out.tab、--quick 避免大結果集佔記憶體 |
| mysqladmin | 管理操作 | create/drop db、reload、flush-logs/tables、shutdown、status、version、processlist |
| mysqldump | 資料庫備份/匯出 | --opt (預設開啟)、--no-data、--databases、--all-databases、-r file.sql |
| mysqlimport | 文字檔匯入 (封裝 LOAD DATA) | --fields-terminated-by=,、--fields-enclosed-by=\"、--ignore-lines=1、--delete、--replace |
| mysqlshow | 顯示庫/表/欄位/索引資訊 | mysqlshow db、mysqlshow db tbl、mysqlshow db tbl col |
| mysql_install_db | 初始化授權表 (僅首次安裝執行) | 建立 mysql 資料庫與權限表 |
| mysqld | 伺服器守護進程 | 持續運行,接受連線 |
| myisamchk | MyISAM 表檢查/修復/優化 | 見「維護 MySQL 安裝」章節 |
| mysqlbug | 錯誤回報腳本 | 向官方回報 Bug 時使用 |
| msql2mysql | mSQL 轉 MySQL 腳本 | 輔助遷移,不保證 100% 相容 |
| replace | 字串替換工具 | 有限狀態機優先匹配長字串 |
mysql 客戶端進階選項
--quick:使用 mysql_use_result() 逐行讀取,不緩存整個結果集,適合大量資料匯出。
--batch:非互動模式,輸出以 Tab 分隔,適合腳本處理。
--html / --xml:輸出 HTML 表格 / XML 格式。
--execute="SQL" / -e "SQL":直接執行指令並退出。
--vertical / -E:垂直顯示每筆記錄 (欄位: 值),適合寬表閱讀。
mysqladmin 常用管理指令
| 指令 | 功能 |
create db_name | 建立資料庫 |
drop db_name | 刪除資料庫 |
reload | 重載授權表 (等同 FLUSH PRIVILEGES) |
flush-logs | 關閉並重開日誌檔 (輪替) |
flush-tables | 關閉所有開啟表 (釋放鎖定) |
flush-privileges | 重載授權表 |
shutdown | 正常關閉伺服器 |
status | 顯示伺服器狀態 (連線數、查詢數、運行時間等) |
processlist | 顯示當前執行緒列表 |
kill id | 終止指定執行緒 |
version | 顯示伺服器版本資訊 |
選項檔 (my.cnf / my.ini)
所有客戶端程式啟動時會讀取選項檔 (/etc/my.cnf, ~/.my.cnf 等),可在 [client]、[mysql]、[mysqldump] 等群組設定預設參數,命令列參數優先級最高。