面向初學者的 MySQL 基礎操作手冊,涵蓋命令行連接、密碼修改、用戶授權、DDL/DML 基礎、文本導入導出、mysqldump 備份恢復、SQL-Front 圖形化工具使用。
# 本地連接 (無密碼)
mysql -u root -p
# 遠程連接
mysql -h 192.168.1.100 -u root -p'password'
# 退出
exit
# 首次設定密碼 (舊密碼為空)
mysqladmin -u root password 'newpwd'
# 修改密碼
mysqladmin -u root -p'oldpwd' password 'newpwd'
-- 或在 MySQL 內部
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
FLUSH PRIVILEGES;
-- 建立用戶並授權 (推薦 5.7+ 語法)
CREATE USER 'app'@'%' IDENTIFIED BY 'pwd';
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'app'@'%';
-- 僅本地訪問
GRANT SELECT, INSERT ON mydb.* TO 'local'@'localhost' IDENTIFIED BY 'pwd';
-- 刪除用戶
DROP USER 'app'@'%';
原則:最小權限、限制 Host、避免 % 超級帳號暴露公網。
SHOW DATABASES;
USE mysql;
SHOW TABLES;
DESC user; -- 表結構
SELECT * FROM user;
DROP DATABASE IF EXISTS school;
CREATE DATABASE school;
USE 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 (NULL, 'glchengang', '深圳一中', '1976-10-10');
INSERT INTO teacher VALUES (NULL, 'jack', '深圳一中', '1975-12-23');
文本格式:欄位用 Tab 分隔,NULL 用 \N 表示。
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE teacher
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';
# 備份單庫
mysqldump -u root -p --opt school > school.sql
# 備份指定表
mysqldump -u root -p --opt school teacher > teacher.sql
# 含存儲過程/觸發器/事件
mysqldump -u root -p --routines --triggers --events school > full.sql
# 命令行管道
mysql -u root -p school < school.sql
-- 或 MySQL 內部
SOURCE /path/to/school.sql;
# 安裝為服務 (二進制安裝包)
mysqld --install MySQL57
net start MySQL57
net stop MySQL57
sc delete MySQL57 # 移除服務
# 免安裝版啟動
mysqld --console
# 建議寫入 mysql-startup.bat 雙擊啟動