mysql -h 主機地址 -u 用戶名 -p密碼
注意:-p 後直接跟密碼無空格(不安全,僅測試用),生產環境建議省略密碼讓終端提示輸入。
| 場景 | 命令 | 說明 |
|---|---|---|
| 本機 root 無密碼 | mysql -u root -p | 回車進入,提示符 mysql> |
| 遠程連接 | mysql -h 110.110.110.110 -u root -pabcd123 | 指定 IP、用戶、密碼 |
| 指定端口 | mysql -h host -P 3307 -u user -p | 大寫 -P 為端口 |
| 退出 | exit 或 quit 或 \q | 任意方式退出 |
# 首次設密
mysqladmin -u root password 'newpass'
# 修改密碼
mysqladmin -u root -p'oldpass' password 'newpass'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass';
FLUSH PRIVILEGES;
CREATE USER 'app_user'@'%' IDENTIFIED BY 'strongPass123';
-- 僅讀
GRANT SELECT ON mydb.* TO 'app_user'@'%';
-- 讀寫
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'app_user'@'%';
-- 全權限(慎用)
GRANT ALL PRIVILEGES ON mydb.* TO 'app_user'@'%';
-- 生效
FLUSH PRIVILEGES;
REVOKE INSERT ON mydb.* FROM 'app_user'@'%';
| 任務 | 命令 |
|---|---|
| 顯示數據庫 | SHOW DATABASES; |
| 切換數據庫 | USE dbname; |
| 顯示表 | SHOW TABLES; |
| 表結構 | DESC tablename; 或 SHOW CREATE TABLE tablename; |
| 進程列表 | SHOW PROCESSLIST; |
| 殺死進程 | KILL thread_id; |
| 狀態變量 | SHOW GLOBAL STATUS LIKE 'Threads_connected'; |
| 配置參數 | SHOW VARIABLES LIKE 'max_connections'; |
# 全庫備份
mysqldump -u root -p --single-transaction --routines --triggers --events dbname > backup.sql
# 單表備份
mysqldump -u root -p dbname table1 table2 > tables_backup.sql
# 僅結構
mysqldump -u root -p --no-data dbname > schema.sql
mysql -u root -p dbname < backup.sql
mysql_secure_installation 交互式加固DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost','127.0.0.1','::1');DELETE FROM mysql.user WHERE User='';DROP DATABASE test;掌握核心連接、認證、授權命令是 DBA 與開發的基本功。建議將常用命令做成別名或腳本,配合版本差異(5.7 vs 8.0 語法變化)建立團隊操作手冊,提升運維效率與安全性。