Path → 編輯 → 新建 → 添加 MySQL bin 目錄,如 C:\Program Files\MySQL\MySQL Server 8.0\bin。驗證:mysql --version 輸出版本號即成功。
# 本地 root 登錄 (交互式輸入密碼)
mysql -h localhost -u root -p
# 直接帶密碼 (不安全,僅腳本/測試用)
mysql -h 127.0.0.1 -u root -p'YourPassword'
# 連接遠程/指定端口/指定默認庫
mysql -h 192.168.1.100 -P 3307 -u app_user -p db_name
# 使用登錄路徑文件 (推薦自動化,避免命令行洩露密碼)
mysql --login-path=local # 需先 mysql_config_editor set --login-path=local --host=localhost --user=root --password
| 任務 | 命令 |
|---|---|
| 顯示數據庫 | SHOW DATABASES; |
| 切換庫 | USE db_name; |
| 顯示表 | SHOW TABLES; |
| 查看建表語句 | SHOW CREATE TABLE tbl_name\G |
| 查看表結構 | DESC tbl_name; |
| 查看進程 | SHOW PROCESSLIST; / SHOW FULL PROCESSLIST; |
| 殺死進程 | KILL connection_id; |
| 查看變量 | SHOW VARIABLES LIKE 'max_connections'; |
| 查看狀態 | SHOW GLOBAL STATUS LIKE 'Threads_connected'; |
| 備份單庫 | mysqldump -u root -p db_name > backup.sql |
| 備份全庫 | mysqldump -u root -p --all-databases --single-transaction --routines --events > full.sql |
| 恢復 | mysql -u root -p db_name < backup.sql |
| 導出 CSV | SELECT * INTO OUTFILE 'C:/tmp/data.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' FROM tbl; (需 FILE 權限、secure_file_priv 允許目錄) |
@echo off
mysql -u root -p%1 -e "SOURCE C:\scripts\init_schema.sql"
if %errorlevel% neq 0 (
echo SQL execution failed
exit /b 1
)
echo Done
調用:run_init.bat MyPassword
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe"。skip-grant-tables 模式下未刷新權限。bind-address 不對 / 端口錯。chcp 65001 切 UTF-8,或在連接串指定 --default-character-set=utf8mb4。--max_allowed_packet=1G、--net_buffer_length=1M;關閉自動提交 SET autocommit=0; 文件頭、尾 COMMIT;。