連線與服務
mysql -u root -p # 互動式登入(密碼提示輸入,較安全)
net start mysql / net stop mysql # Windows 服務啟停
systemctl start mysqld # Linux systemd
常用 SQL
| 操作 | 指令 |
| 顯示資料庫/表 | SHOW DATABASES; SHOW TABLES; |
| 切換資料庫 | USE db_name; |
| 清除當前輸入 | \c 或 Ctrl+C |
| 查看表結構 | DESC table_name; |
| 授權 | GRANT ALL ON db.* TO 'user'@'host' IDENTIFIED BY 'pwd'; |
| 建庫/建表 | CREATE DATABASE db; CREATE TABLE t (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20)); |
| 插入資料 | INSERT INTO t (name) VALUES ('zhangsan'); |
備份與還原
# 導出整庫
mysqldump -u user -p db_name > dump.sql
# 導出單表
mysqldump -u user -p db_name table_name > table.sql
# 導出結構不含資料
mysqldump -u user -p -d db_name > schema.sql
# 導入(進入 mysql 後)
SOURCE /path/to/dump.sql;
# 或命令列
mysql -u user -p db_name < dump.sql
備份進階參數
--single-transaction:InnoDB 熱備份,不鎖表。
--master-data=2:記錄 Binlog 位置,利於主從搭建。
--extended-insert=FALSE:每行一條 INSERT,利於審閱與部分還原。