一、連線 MySQL
mysql -h 主機 -u 用戶 -p密碼
# 範例:本機 root 無密碼
mysql -u root -p
# 範例:遠端 110.110.110.110
mysql -h 110.110.110.110 -u root -pabcd123
- 退出:
exit 或 quit 或 Ctrl+D
- 提示符:
mysql>
二、修改密碼
mysqladmin -u 用戶 -p舊密碼 password 新密碼
# 範例:root 初始無密碼設為 ab12
mysqladmin -u root password ab12
# 範例:再改為 djg345
mysqladmin -u root -pab12 password djg345
三、建立使用者與授權 (在 mysql> 提示符下,每句以 ; 結尾)
-- 格式
GRANT 權限 ON 資料庫.表 TO '用戶'@'主機' IDENTIFIED BY '密碼';
-- 例 1:高風險 - 允許任意主機全權限 (不建議)
GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'test1'@'%' IDENTIFIED BY 'abc';
-- 例 2:安全 - 僅本地主機存取特定庫
GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY 'abc';
-- 移除密碼
GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY '';
安全警示: '%' 允許任意 IP 連線,生產環境嚴禁對 root 或高權限帳號使用。應遵循最小權限原則,限制主機、資料庫、操作類型。
四、操作技巧
- 忘記分號:另起一行輸入
; 即可送出。
- 上下鍵調取歷史指令 (需支援 readline 的客戶端)。
五、資料庫/資料表 DDL 基本指令
| 操作 | 指令 |
| 顯示所有資料庫 | SHOW DATABASES; |
| 切換資料庫 | USE 資料庫名; |
| 顯示資料表 | SHOW TABLES; |
| 檢視表結構 | DESCRIBE 表名; 或 SHOW COLUMNS FROM 表名; |
| 建立資料庫 | CREATE DATABASE 資料庫名; |
| 建立資料表 | CREATE TABLE 表名 (欄位定義...); |
| 刪除資料庫 | DROP DATABASE 資料庫名; |
| 刪除資料表 | DROP TABLE 表名; |
六、重要系統資料庫
mysql:核心系統庫,儲存使用者、權限、協定、時區等元資料。**修改密碼、授權實際操作此庫**。
test:預設測試庫,可安全刪除。