MySQL 命令行核心命令速查手冊
基礎對象操作
| 命令 | 參數 | 含義 |
ALTER | DATABASE / TABLE | 修改數據庫或表結構 |
BACKUP | TABLE | 備份表 |
CREATE | DATABASE / TABLE | 創建數據庫或表 |
DELETE | FROM table WHERE ... | 刪除行 |
DESCRIBE / DESC | TABLE | 查看表結構 |
DROP | DATABASE / TABLE | 刪除數據庫或表 |
INSERT | INTO table VALUES ... | 插入數據 |
RENAME | TABLE old TO new | 重命名表 |
SHOW | DATABASES / TABLES / INDEX ... | 列出對象信息 |
TRUNCATE | TABLE | 清空表(重置自增 ID) |
UPDATE | table SET col=val WHERE ... | 更新數據 |
USE | DATABASE | 切換數據庫 |
會話控制
| 命令 | 別名 | 含義 |
EXIT | \q, QUIT | 退出客戶端 |
HELP | \h, \? | 顯示幫助 |
STATUS | \s | 顯示連接狀態 |
SOURCE | 文件路徑 | 執行 SQL 腳本文件 |
\c | | 取消當前輸入 |
權限管理
-- 授權
GRANT SELECT, INSERT ON db.* TO 'user'@'host' IDENTIFIED BY 'pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'pass' WITH GRANT OPTION;
-- 查看權限
SHOW GRANTS FOR 'user'@'host';
-- 撤銷權限
REVOKE INSERT ON db.* FROM 'user'@'host';
-- 刷新權限
FLUSH PRIVILEGES;
備份與恢復
# 邏輯備份
mysqldump -u root -p --single-transaction --routines --triggers db_name > backup.sql
# 壓縮備份
mysqldump -u root -p db_name | gzip > backup.sql.gz
# 恢復
mysql -u root -p db_name < backup.sql
# 只導出結構
mysqldump -u root -p -d db_name > schema.sql
批處理執行
# 執行腳本文件
mysql -u root -p < batch.sql
# 分頁查看輸出
mysql -u root -p < batch.sql | more
# 導出結果到文件
mysql -u root -p < batch.sql > result.txt
登錄連接
# 本地
mysql -u root -p
# 指定端口/ Socket
mysql -u root -p -P 3306 -S /tmp/mysql.sock
# 遠程
mysql -h 192.168.1.100 -u root -p -P 3306