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

MySQL 運維核心命令速查:密碼修改、導入導出、修復、引擎轉換、遷移兼容

     編輯:MySQL 資料庫相關知識

彙總 MySQL DBA 日常高頻操作命令,涵蓋密碼管理、邏輯備份還原、表修復、引擎轉換、跨版本遷移兼容參數,適合作為運維手冊附錄。

一、密碼管理

# 修改 root 密碼(需知舊密碼)
mysqladmin -u root -p'oldpass' password 'newpass'

# 修改任意用戶密碼(需 root 權限)
mysql -uroot -p -e "ALTER USER 'app'@'%' IDENTIFIED BY 'newpass';"

二、邏輯備份與還原 (mysqldump)

# 導出整庫(含例程、觸發器、事件、GTID 位置)
mysqldump -uroot -p --single-transaction --routines --triggers --events \
  --master-data=2 --flush-logs --hex-blob db_name > dump.sql

# 導出單表
mysqldump -uroot -p db_name tbl_name > tbl.sql

# 導入還原
mysql -uroot -p db_name < dump.sql
# 或進入 mysql 後
SOURCE /path/dump.sql;

三、表修復 (MyISAM/InnoDB)

# 單庫修復(MyISAM 推薦)
mysqlcheck -r -o -uroot -p db_name

# 全庫修復
mysqlcheck -A -r -o -uroot -p

# 單表修復(MyISAM 專用,快速模式)
myisamchk -r -q /var/lib/mysql/db_name/tbl_name.MYI

# InnoDB 損壞:優先用 XtraBackup 物理備份還原,或 dump/import 重建

四、創建庫與應用賬號(最小權限)

# MySQL 5.7+
CREATE DATABASE biz_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'app_user'@'10.0.0.%' IDENTIFIED BY 'StrongPass123!';
GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON biz_db.* TO 'app_user'@'10.0.0.%';
FLUSH PRIVILEGES;

五、InnoDB → MyISAM 引擎轉換(不推薦,僅特殊場景)

  1. mysqldump --single-transaction db_name > dump.sql
  2. 編輯器將 ENGINE=InnoDB 替換為 ENGINE=MyISAM(注意大小寫)
  3. 備份原 data/db_name 目錄
  4. 刪除原表/庫,導入修改後的 dump.sql

⚠️ 轉換後**失去事務、行鎖、外鍵、崩潰恢復能力**,極不建議生產環境使用。

六、跨版本遷移兼容參數

# 高版本 mysqldump 導出低版本兼容 SQL
mysqldump -uroot -p --compatible=mysql40 --default-character-set=utf8mb4 \
  --single-transaction db_name > compat_dump.sql

# 導入目標服務器
mysql -uroot -p --default-character-set=utf8mb4 db_name < compat_dump.sql

--compatible=mysql40 會產生較舊語法(如 TYPE=MyISAM 而非 ENGINE=MyISAM),兼容 MySQL 3.23/4.0/4.1。

七、論壇程序數據庫遷移捷徑

  • Discuz! / phpWind 等自帶「數據庫備份/還原」工具,**優先使用**
  • 工具內部已處理表前綴、字符集、版本兼容,避免手工 dump/import 陷阱

收藏此速查表,日常運維無需現場查閱文檔,敲命令即走流程。

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