首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL核心命令大全:從基礎操作到備份恢復實戰速查

     編輯:MySQL 資料庫相關知識

MySQL日常管理命令速查手冊

整理最常用的MySQL命令列操作,涵蓋資料庫/資料表管理、使用者授權、資料匯出入、密碼維護等核心場景,適合DBA與開發人員快速查閱。

基礎資料庫操作

操作命令說明
建立資料庫CREATE DATABASE dbname;支援CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
選擇資料庫USE dbname;
刪除資料庫DROP DATABASE dbname;無提示直接刪除,謹慎使用
顯示所有資料庫SHOW DATABASES;
顯示資料表列表SHOW TABLES;需先USE dbname
檢視表結構DESCRIBE tablename; 或 SHOW COLUMNS FROM tablename;
查看版本與日期SELECT VERSION(), CURRENT_DATE;

Root密碼修改標準流程

# 進入MySQL客戶端
mysql -u root -p

# 修改密碼(MySQL 5.7+建議使用ALTER USER)
UPDATE mysql.user SET authentication_string=PASSWORD('newpass') WHERE User='root';
-- 或
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass';
FLUSH PRIVILEGES;

注意:MySQL 5.7+ password欄位改為authentication_string,舊版使用password欄位。

使用者授權與權限管理

建立超級管理員(僅限本地)

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

建立業務應用帳號(最小權限原則)

-- 僅允許特定主機存取特定資料庫
GRANT SELECT, INSERT, UPDATE, DELETE ON `appdb`.* TO 'appuser'@'192.168.1.%' IDENTIFIED BY 'apppass';

-- 僅讀報表帳號
GRANT SELECT ON `reportdb`.* TO 'readonly'@'%' IDENTIFIED BY 'readpass';

撤銷權限與刪除使用者

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

資料表結構變更

-- 重命名資料表
ALTER TABLE old_table RENAME new_table;

-- 新增欄位
ALTER TABLE users ADD COLUMN email VARCHAR(100) AFTER name;

-- 修改欄位屬性
ALTER TABLE users MODIFY COLUMN email VARCHAR(150) NOT NULL;

-- 刪除欄位
ALTER TABLE users DROP COLUMN temp_field;

mysqldump備份與恢復實戰

完整備份(含結構+資料)

# 單一資料庫
mysqldump -h host -u root -p dbname > dbname_backup.sql

# 多個資料庫
mysqldump -u root -p --databases db1 db2 > multi_backup.sql

# 所有資料庫
mysqldump -u root -p --all-databases > full_backup.sql

僅備份結構 / 僅備份資料

# 僅結構(-d / --no-data)
mysqldump -u root -p -d dbname > schema_only.sql

# 僅資料(-t / --no-create-info)
mysqldump -u root -p -t dbname > data_only.sql

恢復資料庫

# 建立空資料庫
mysqladmin -h host -u root -p create dbname

# 匯入備份檔
mysql -h host -u root -p dbname < dbname_backup.sql

# 或在MySQL客戶端內執行
SOURCE /path/to/backup.sql;

純文字資料匯出(-T參數)

# 匯出指定資料表為純文字檔
mysqldump -T /export/path dbname tablename
# 產生兩個檔案:
# tablename.sql  -- 建表語句
# tablename.txt  -- 純資料(Tab分隔,無SQL指令)

需確保MySQL服務進程對/export/path有寫入權限,且secure_file_priv設定允許該路徑。

批次執行SQL腳本檔

# 從檔案讀取並執行SQL命令
mysql -h host -u root -p dbname < script.sql

# 在MySQL客戶端內執行
SOURCE /path/to/script.sql;

適用於大量DDL/DML操作、資料遷移、結構同步等場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved