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

SSH 環境下 mysqldump 備份還原 MySQL 大數據庫實戰

     編輯:MySQL 資料庫相關知識

為什麼選 SSH + mysqldump?

比 PHPMyAdmin 等 Web 介面更穩定、無上傳大小限制、適合自動化腳本、大庫 (GB 級) 也能跑完。

常用指令速查

場景指令
整庫備份mysqldump -u user -p db_name > backup.sql
單表備份mysqldump -u user -p db_name tbl_name > tbl.sql
僅結構mysqldump -u user -p -d --add-drop-table db_name > schema.sql
壓縮備份mysqldump -u user -p db_name | gzip > backup.sql.gz
進入 MySQL 後還原mysql -u user -p db_name < backup.sql 或 SOURCE /path/backup.sql;
SSH 遠端直接同步mysqldump -h host -u user -p db_name | ssh user@remote "mysql -u user -p db_name"

大數據庫 (GB 級) 匯入技巧

  1. 上傳 .sql 或 .sql.gz 到伺服器 (scp/sftp/rz)
  2. cd /path/to/sql
  3. 解壓 (若壓縮):gunzip backup.sql.gz
  4. 匯入:mysql -u user -p db_name < backup.sql
  5. 或進入 MySQL 後:SOURCE backup.sql; (顯示進度)

關鍵參數調優:

  • max_allowed_packet=1G (避免大包中斷)
  • innodb_buffer_pool_size 設大一點 (如實體記憶體 70%)
  • 關閉 innodb_flush_log_at_trx_commit=2 匯入期間 (風險自負)
  • 使用 --quick --single-transaction 導出減少鎖爭用

GoDaddy / DreamHost 等共享主機 SSH 範例


# 備份
mysqldump -h mysql.domain.com -u db_user -p db_name > backup.sql
# 還原
mysql -h mysql.domain.com -u db_user -p db_name < backup.sql

注意:共享主機常限制 max_allowed_packet、wait_timeout,大表需分批導出。

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