首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

phpMyBackupPro 完整指南:MySQL 資料庫備份、還原與自動化排程

     編輯:關於SqlServer

前言

phpMyBackupPro 是基於 PHP 的 MySQL 資料庫備份管理工具,支援多伺服器、多資料庫、FTP/Email 遠端備份、壓縮、排程自動化與 Web 介面管理。適用於 LAMP 架構環境,是中小型專案零成本備份解決方案首選。

系統需求

  • LAMP 完整架構: Linux + Apache + MySQL + PHP (≥ 4.3)
  • PHP 擴充:zlib(gzip)、zip、ftp、mail
  • MySQL 用戶需具備:SELECT, LOCK TABLES, SHOW VIEW, TRIGGER 權限

安裝與基礎設定

1. 部署程式碼

# 解壓縮至 Web 根目錄
tar -xzf phpMyBackupPro-x.x.x.tar.gz -C /var/www/html/
mv phpMyBackupPro-x.x.x phpMyBackupPro  # 或改為難以猜測名稱

2. 基礎設定(首次存取會導向設定頁)

瀏覽 https://your-domain/phpMyBackupPro/config.php

欄位說明必要
Site Name站點顯示名稱是
Language介面語言(支援繁體中文)是
MySQL HostnameMySQL 伺服器位址(localhost 或 IP)是
MySQL Username資料庫帳號是
MySQL Password資料庫密碼是
Databases要備份的資料庫(可多選)否
Compression無 / gzip / zip否

點擊 Save Data 完成,產生 global_conf.php。

3. 進階設定

瀏覽 config.php?ext=TRUE

  • Skin: 介面主題
  • Date Style: 日期格式
  • HTTP Authentication: 啟用 Basic Auth 保護介面
  • Email/FTP 設定: 遠端備份目的地配置

核心功能操作

1. 手動備份

  1. 主介面選擇資料庫、壓縮格式
  2. 點擊 Backup
  3. 備份檔存放於 export/ 目錄,命名格式:dbname_YYYYMMDD_HHMMSS.sql.gz

2. 還原資料庫

  1. 點擊 Import 標籤
  2. 選擇 export/ 目錄下的備份檔
  3. 點擊 Restore(注意:會覆蓋現有資料)

3. 排程自動備份

介面提供 Schedule Backup 產生 crontab 指令:

# 每日 02:00 備份所有資料庫,gzip 壓縮
0 2 * * * /usr/bin/php /var/www/html/phpMyBackupPro/scheduled_backup.php > /dev/null 2>&1

將指令加入 crontab -e 即可自動化。

4. 遠端備份(FTP / Email)

  • FTP: 進階設定填入 FTP 伺服器、帳號、密碼、遠端目錄 → 備份後自動上傳
  • Email: 設定 SMTP、收件人 → 備份檔以附件寄送(受限郵件大小限制)

安全性強化(生產環境必做)

  1. 改變目錄名稱: phpMyBackupPro → bkp_7x9k2m 等難猜名稱
  2. 移動敏感檔案: 將 global_conf.php 與 export/ 移至 Web 根目錄外(如 /var/backup/phpMyBackupPro/)
  3. 修改 definitions.php: 更新 $CONFIG_FILE 與 $EXPORT_DIR 路徑常數
  4. 啟用 HTTP Authentication: 進階設定開啟,或 Apache .htaccess 保護
  5. 限制 IP 存取: Apache Allow from 或防火牆規則

目錄結構說明


phpMyBackupPro/
├── config.php              # 設定入口
├── global_conf.php         # 實際設定檔(含密碼,需保護)
├── definitions.php         # 路徑常數定義
├── scheduled_backup.php    # 排程備份執行腳本
├── export/                 # 備份檔預設存放目錄
│   ├── db1_20240115_020000.sql.gz
│   └── db2_20240115_020000.sql.gz
├── languages/              # 語系檔
└── skins/                  # 介面主題

常見問題排查

問題可能原因解決
備份檔為 0 bytesMySQL 權限不足、mysqldump 路徑錯誤檢查用戶權限、確認 PHP safe_mode、設定 mysqldump 完整路徑
排程不執行crontab 格式錯誤、PHP CLI 路徑錯誤which php 確認路徑、測試手動執行 scheduled_backup.php
中文亂碼資料庫/連線/檔案編碼不一致確認 MySQL charset、PHP mbstring、備份檔編碼皆為 UTF-8
大資料庫備份逾時PHP max_execution_time 過短調整 php.ini 或 scheduled_backup.php 中 set_time_limit(0)

結語

phpMyBackupPro 功能完整、介面直覺、零授權成本,是 MySQL 備份管理的利器。配合目錄偽裝、敏感檔外移、HTTP Auth、排程自動化、遠端異地備份,即可構建企業級可靠備份體系。定期演練還原測試,才是備份策略的最終驗證。

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