DBA 與開發高頻使用的 MySQL 命令彙總,分類整理,適合列印貼牆。
mysql -u root -p # 互動式登入
mysql -h host -u user -p db_name # 遠程登入指定庫
mysql -e "SQL語句" # 非互動執行單條 SQL
mysql -e "SELECT VERSION(), CURRENT_DATE;" # 查版本與日期
CREATE DATABASE db_name;
USE db_name;
DROP DATABASE db_name; -- 無提示直接刪
SHOW DATABASES;
SHOW TABLES;
DESC tbl_name; -- 表結構
SHOW CREATE TABLE tbl_name; -- 建表 SQL
SHOW GRANTS FOR user@host; -- 用戶權限
-- 建立超級用戶
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'pass' WITH GRANT OPTION;
-- 建立業務用戶 (指定庫、指定主機)
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON db.* TO 'user'@'host' IDENTIFIED BY 'pass';
-- 撤銷權限
REVOKE ALL PRIVILEGES ON *.* FROM 'user'@'%';
DELETE FROM mysql.user WHERE User='user' AND Host='%';
FLUSH PRIVILEGES;
-- 重命名表
ALTER TABLE t1 RENAME t2;
# 完整備份 (含結構+資料)
mysqldump -h host -u root -p db_name > backup.sql
# 僅結構
mysqldump -d -u root -p db_name > schema.sql
# 僅資料
mysqldump -t -u root -p db_name > data.sql
# 純文字檔 (每表 .sql + .txt)
mysqldump -T /tmp/export -u root -p db_name tbl_name
# 還原
mysqladmin -h host -u root -p create db_name
mysql -h host -u root -p db_name < backup.sql
# 批次執行 SQL 腳本
mysql -u root -p < script.sql
# LOAD DATA INFILE 極速匯入
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE tbl_name
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
IGNORE 1 LINES;
mysqladmin create db_name
mysqladmin drop db_name
mysqladmin shutdown
mysqladmin reload
mysqladmin flush-logs
mysqladmin processlist
mysqladmin status
mysqladmin version
mysqladmin -u root -p password 'new_pass'
SELECT DISTINCT col FROM tbl; -- 去重
SELECT * FROM tbl WHERE col LIKE '%val%'; -- 模糊
SELECT * FROM tbl ORDER BY col LIMIT 10 OFFSET 20; -- 分頁
收藏本表,日常操作零查閱成本。