基本語法:mysql -h主機 -u用戶 -p密碼
cd mysql/bin
mysql -u root -p
# 首次安裝 root 無密碼,直接 Enter 進入
# 提示符變為 mysql>
mysql -h 110.110.110.110 -u root -pabcd123
# -p 後直接接密碼無需空格
exit
# 首次設定密碼
mysqladmin -u root password ab12
# 修改現有密碼
mysqladmin -u root -pab12 password djg345
# 範例1:高風險帳號(任何主機可登入,擁有全庫增刪改查權限)
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'test1'@'%' IDENTIFIED BY 'abc';
# 範例2:安全帳號(僅限本機登入,僅操作 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 '';
原則:遵循最小權限,避免 % 萬用字元,生產環境嚴禁無密碼帳號。
; 即可送出。| 功能 | 指令 |
|---|---|
| 列出資料庫 | SHOW DATABASES; |
| 切換資料庫 | USE db_name; |
| 列出資料表 | SHOW TABLES; |
| 檢視表結構 | DESCRIBE table_name; |
| 建立資料庫 | CREATE DATABASE db_name; |
| 建立資料表 | CREATE TABLE table_name (col_def_list); |
| 刪除資料庫/表 | DROP DATABASE db_name; / DROP TABLE table_name; |
| 清空表資料 | DELETE FROM table_name; |
| 查詢所有資料 | SELECT * FROM table_name; |
school.sql 批次執行)DROP DATABASE IF EXISTS school;
CREATE DATABASE school;
USE school;
CREATE TABLE teacher (
id INT(3) AUTO_INCREMENT NOT NULL PRIMARY KEY,
name CHAR(10) NOT NULL,
address VARCHAR(50) DEFAULT '深圳',
year DATE
);
INSERT INTO teacher VALUES ('', 'glchengang', '深圳一中', '1976-10-10');
INSERT INTO teacher VALUES ('', 'jack', '深圳一中', '1975-12-23');
批次執行:mysql -u root -p密碼 < c:\school.sql(成功無輸出,失敗顯示錯誤)。
格式:欄位間以 Tab 分隔,NULL 用 \N 表示。
3 rose 深圳二中 1976-10-10
4 mike 深圳一中 1975-12-23
命令:LOAD DATA LOCAL INFILE '檔名' INTO TABLE 表名;(先 USE 選擇資料庫,建議將檔案放在 mysql/bin 目錄)。
mysqldump --opt school > school.bbb
# 產生純文字備份檔,可直接用文字編輯器查看
MySQL 操作與其他 SQL 資料庫大同小異,建議研讀《MySQL 中文參考手冊》(晏子譯),權威免費且涵蓋完整。本文僅覆蓋入門核心,進階請參考官方文件。