承接上篇客戶端環境變數,本篇匯總 MySQL 發布包內**核心工具程式**的功能定位與常用場景,涵蓋管理、備份、匯入、除錯、基準測試、腳本轉換,作為 DBA/開發工具箱速查卡。
| 程式 | 功能定位 | 核心用法範例 | 備註 |
|---|---|---|---|
myisamchk | MyISAM 表描述、檢查、優化、修復 | myisamchk -r /datadir/*.MYI (離線修復) | 詳見第 13 章維護章節,功能最豐富 |
make_binary_release | 產生編譯後的二進制發布包 | 內部構建用,可上傳至 FTP 分享 | 非日常運維工具 |
msql2mysql | mSQL 腳本/程式轉 MySQL 腳本 | msql2mysql old.sql > new.sql | 不保證 100% 相容,提供遷移起點 |
mysql | 互動式/批次 SQL 客戶端 (GNU readline) | mysql db < script.sql > out.tab | 支援 --quick 避免大結果集佔滿記憶體 |
mysqlaccess | 檢查 Host/User/Db 組合存取權限 | mysqlaccess --user=app --host=% | 腳本工具,輔助權限審計 |
mysqladmin | 管理操作:建庫/刪庫、刷新權限/表/日誌、查版本/進程/狀態 | mysqladmin -uroot -p statusmysqladmin shutdown | DBA 日常最高頻工具 |
mysqlbug | 產生標準化 Bug 報告模板 | 提交郵件列表時必跑 | 收集版本、配置、重現步驟 |
mysqld | MySQL 伺服器守護進程 | mysqld --defaults-file=/etc/my.cnf | 應常駐運行,由 systemd/mysqld_safe 管理 |
mysqldump | 邏輯備份:SQL/定位符文本導出結構與資料 | mysqldump -uroot -p --all-databases > full.sqlmysqldump -uroot -p db tbl > tbl.sql | 增強版,支援 --single-transaction、--master-data |
mysqlimport | 文字檔匯入表 (LOAD DATA INFILE 封裝) | mysqlimport -uroot -p db tbl.txt | 檔名即表名,支援平行匯入 |
mysqlshow | 快速顯示庫/表/欄位/索引資訊 | mysqlshow -uroot -p db tbl | 無需進入互動模式 |
mysql_install_db | 初始化系統授權表 (mysql 資料庫) | 安裝後執行一次 | 5.7+ 已整合至 mysqld --initialize |
replace | 字串替換工具 (有限狀態機,優先長串) | replace a b b a -- file1 file2 (互換 a/b) | 通用文本處理,非 MySQL 專屬 |
safe_mysqld / mysqld_safe | 啟動守護進程包裝器:崩潰自動重啟、錯誤日誌、核心轉儲 | mysqld_safe --user=mysql & | 生產標準啟動方式 |
MYSQL_PWD:指定密碼(**極不安全**,進程列表可見,**嚴禁生產使用**)。MYSQL_HISTFILE:mysql 客戶端歷史檔路徑(預設 $HOME/.mysql_history)。HOME:用戶家目錄,影響歷史檔、.my.cnf 讀取位置。--defaults-file、--defaults-extra-file、--no-defaults。/etc/my.cnf → /etc/mysql/my.cnf → ~/.my.cnf。--help 可列出各程式完整選項清單(如 mysqladmin --help)。myisamchk -r (服務停止後)。mysqldump --single-transaction --master-data=2。mysqlimport 或 LOAD DATA INFILE 直連。mysqlshow。mysqlbug。