# 格式
mysql -h host -u user -p[password]
# 1. 本機連線(預設無密碼)
mysql -u root -p
# 輸入密碼(初次為空直接 Enter)
# 2. 遠端連線
mysql -h 110.110.110.110 -u root -pabcd123
# -p 後直接接密碼無空格(不安全,歷史指令會洩露)
# 3. 退出
exit
# 或 Ctrl+D
最佳實務:mysql -u root -p 互動式輸入密碼,避免歷史紀錄洩露。
# 格式
mysqladmin -u user -p[oldpass] password newpass
# 1. 為 root 設定初始密碼
mysqladmin -u root password ab12
# 2. 變更 root 密碼
mysqladmin -u root -pab12 password djg345
登入 MySQL 後執行(每條以分號結束):
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'test1'@'%' IDENTIFIED BY 'abc';
-- '%' 允許任意主機連線,*.* 所有資料庫所有權限 → 極度危險!
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY 'abc';
-- 僅允許本機連線,僅存取 mydb 資料庫,四大基本權限
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY '';
| 權限 | 說明 |
|---|---|
| ALL PRIVILEGES | 除 GRANT OPTION 外所有權限 |
| SELECT | 查詢 |
| INSERT | 新增 |
| UPDATE | 修改 |
| DELETE | 刪除 |
| CREATE | 建立資料庫/表 |
| DROP | 刪除資料庫/表 |
| INDEX | 建立/刪除索引 |
| ALTER | 修改表結構 |
| GRANT OPTION | 授權給他人 |
-- 查看某用戶權限
SHOW GRANTS FOR 'test2'@'localhost';
-- 撤銷特定權限
REVOKE DELETE ON mydb.* FROM 'test2'@'localhost';
-- 刪除用戶
DROP USER 'test1'@'%';
mysql_secure_installation 執行互動式安全初始化(設 root 密碼、移除匿名用戶、禁止 root 遠端登入、移除 test 資料庫)。