MySQL 操作語法與標準 SQL 高度相容,掌握核心指令即可應付大多數日常管理與開發需求。本文彙整從連線登入、密碼變更、使用者授權、資料庫/資料表操作、資料匯入匯出到備份還原的完整入門流程,適合初學者快速建立操作自信。
# 本機連線 (root 無密碼時)
mysql -u root -p
# 遠端連線
mysql -h 110.110.110.110 -u root -pabcd123
# 登出
exit
提示符變為 mysql> 即進入互動模式。
# 首次設定密碼
mysqladmin -u root password 'newpwd'
# 變更既有密碼
mysqladmin -u root -p'oldpwd' password 'newpwd'
-- 允許任意主機連線,擁有所有資料庫完整權限(高風險,僅測試用)
GRANT ALL PRIVILEGES ON *.* TO 'test1'@'%' IDENTIFIED BY 'abc';
-- 僅允許本機連線,限定 mydb 資料庫權限(生產環境建議)
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 '';
原則:遵循最小權限,避免使用 % 萬用字元,生產環境嚴禁 root 遠端登入。
| 操作 | 指令範例 |
|---|---|
| 顯示所有資料庫 | SHOW DATABASES; |
| 切換/建立資料庫 | USE mysql; / CREATE DATABASE school; |
| 建立資料表 | CREATE TABLE teacher (id INT(3) AUTO_INCREMENT PRIMARY KEY, name CHAR(10) NOT NULL, address VARCHAR(50) DEFAULT '深圳', year DATE); |
| 插入資料 | INSERT INTO teacher VALUES ('', 'glchengang', '深圳一中', '1976-10-10'); |
| 查詢資料 | SELECT * FROM teacher; |
| 刪除資料表/資料庫 | DROP TABLE teacher; / DROP DATABASE school; |
| 清空資料表 | DELETE FROM teacher; (保留結構) / TRUNCATE TABLE teacher; (重設自增 ID) |
將上述指令存為 school.sql (移除註解),於 DOS 下執行:
mysql -u root -p密碼 < c:\school.sql
成功無輸出,失敗會顯示錯誤行號。
\N 表示。LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE teacher;USE school; 切換資料庫,並將檔案放在 mysql\bin 目錄。# 備份單一資料庫 (輸出含建表與插入語句的純文字檔)
mysqldump --opt school > school_backup.sql
# 還原
mysql -u root -p school < school_backup.sql
# 直接複製資料庫
mysqldump --opt db1 | mysql -u root -p db2
備份檔為純文字,可直接編輯或版控,極利於異地備援與遷移。
; 再 Enter 即可送出,無需重打。