# 本地連接(默認 root 無密)
mysql -u root -p
# 遠程連接
mysql -h 110.110.110.110 -u root -pabcd123
# 退出
exit / quit
# 首次設密
mysqladmin -u root password ab12
# 修改密碼
mysqladmin -u root -pab12 password djg345
-- 超級用戶(任意主機)
GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' IDENTIFIED BY 'something' WITH GRANT OPTION;
-- 受限用戶(僅本地、特定庫)
GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO 'test2'@'localhost' IDENTIFIED BY 'abc';
-- 撤銷與刪除
REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%';
DELETE FROM mysql.user WHERE User='root' AND Host='%';
FLUSH PRIVILEGES;
| 操作 | 命令 |
|---|---|
| 顯示庫/表 | SHOW DATABASES; USE db; SHOW TABLES; |
| 表結構 | DESCRIBE tbl; |
| 建庫/建表 | CREATE DATABASE db; CREATE TABLE t (id INT PRIMARY KEY, name VARCHAR(20)); |
| 刪庫/刪表 | DROP DATABASE db; DROP TABLE t; |
| 清空表 | TRUNCATE TABLE t; (比 DELETE 快、不記錄 Binlog) |
| 查詢/插入/更新/刪除 | SELECT * FROM t; INSERT INTO t VALUES(...); UPDATE t SET ... WHERE ...; DELETE FROM t WHERE ...; |
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');
將上述 SQL 保存為 school.sql(去除註釋),命令行執行:
mysql -u root -p < c:\school.sql
無輸出 = 成功;有錯誤 = 報錯行號。
Tab 分隔,NULL 用 \N。LOAD DATA LOCAL INFILE 'file.txt' INTO TABLE t;(文件放在客戶端)。SELECT * INTO OUTFILE '/server/path/t.txt' FROM t;(需 FILE 權限,路徑在服務器端)。# 導出庫
mysqldump --opt school > school.bbb
# 導入
mysql -u root -p school < school.bbb
# 或進入客戶端
SOURCE school.bbb;
-> 繼續輸入,補上分號再回車即可執行。