萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 常用管理命令大全:資料庫操作、用戶權限、備份還原與批次執行

整理 MySQL 日常運維高頻指令,涵蓋資料庫/表管理、用戶授權、備份還原策略、批次執行技巧,適合 DBA、開發與運維人員快速查閱。

基礎資料庫操作

CREATE DATABASE db_name [CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci];
USE db_name;
DROP DATABASE db_name;                    -- 直接刪除,無提示
SHOW DATABASES;
SHOW TABLES;
DESCRIBE tbl_name;                        -- 表結構
SELECT VERSION(), CURRENT_DATE;           -- 版本與日期

Root 密碼修改

mysql -u root -p
UPDATE mysql.user SET authentication_string=PASSWORD('newpass') WHERE User='root';
FLUSH PRIVILEGES;

用戶權限管理 (GRANT/REVOKE)

建立超級用戶(僅本機)

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'pass' WITH GRANT OPTION;

建立超級用戶(任意主機)

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'pass' WITH GRANT OPTION;

建立受限用戶(特定 DB、特定主機、特定權限)

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP 
  ON fangchandb.* TO 'custom'@'it363.com' IDENTIFIED BY 'passwd';

撤銷權限並刪除用戶

REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%';
DELETE FROM mysql.user WHERE User='root' AND Host='%';
FLUSH PRIVILEGES;

備份與還原

mysqldump 完整備份

# 單庫備份
mysqldump -h host -u root -p db_name > db_name_backup.sql

# 多庫備份
mysqldump -u root -p --databases db1 db2 > multi_backup.sql

# 全庫備份
mysqldump -u root -p --all-databases > full_backup.sql

僅結構 / 僅資料 / 純文字

# 只要建表結構
mysqldump -u root -p -d db_name > schema.sql

# 只要 INSERT 資料
mysqldump -u root -p -t db_name > data.sql

# 純文字格式(每表產生 .sql 結構檔 + .txt 資料檔)
mysqldump -T /export/path db_name table_name

還原資料庫

# 1. 建立空資料庫
mysqladmin -h host -u root -p create db_name

# 2. 匯入
mysql -h host -u root -p db_name < db_name_backup.sql

批次執行 SQL 檔案

# 方式 1:重導向
mysql -u root -p db_name < commands.sql

# 方式 2:source 指令(在 mysql 客戶端內)
SOURCE /path/to/commands.sql

# 方式 3:mysql 命令列直接執行字串
mysql -u root -p -e "SELECT * FROM db_name.tbl_name;"

# 方式 4:管道傳遞
cat commands.sql | mysql -u root -p db_name

資料表重命名

ALTER TABLE t1 RENAME TO t2;

實用技巧

  • SELECT DISTINCT col FROM tbl; 去重
  • mysqladmin drop db_name 刪庫前有確認提示
  • 生產環境備份建議加 --single-transaction --master-data=2 --routines --triggers --events(InnoDB 一致性備份)
  • 大表匯入前關閉 autocommit、unique_checks、foreign_key_checks 加速:
    SET autocommit=0; SET unique_checks=0; SET foreign_key_checks=0;
    SOURCE huge_dump.sql;
    COMMIT; SET autocommit=1; SET unique_checks=1; SET foreign_key_checks=1;

將常用指令內化為肌肉記憶,配合腳本自動化,能讓資料庫運維從「手工作業」進化為「可靠交付」。建議將本文轉為團隊內部 Cheat Sheet,納入新人入職教材。

copyright © 萬盛學電腦網 all rights reserved