April 8, 20251 yr 恢復現有的論壇 DB資料庫 與 Web網站檔案 適用於更換伺服器、環境遷移 (例如 舊主機 → 新主機),或將論壇還原至指定日期的備份檔 事前準備 完整的備份檔案:資料庫備份檔 DB.sql 與 網站檔案備份檔 Web.zip 新主機環境已安裝:Nginx、MySQL/MariaDB、PHP (版本需相容)、必要的PHP擴充套件 ---------------------- 停止Nginx (重要) ---------------------- 在進行資料還原前,請務必先停止 Nginx systemctl stop nginx 為什麼要先停? 避免還原過程中,網站檔案短暫暴露 防止備份檔被惡意下載 避免檔案解壓時造成讀寫衝突 --------------------------- 恢復論壇資料庫 (DB) --------------------------- 建議使用 /tmp 目錄作為暫存區,避免汙染系統目錄 使用SFTP將DB資料庫備份檔上傳到 /tmp 接著SSH登入,並到 /tmp 目錄 cd /tmp 解壓縮,得到資料庫檔案 DB.sql unzip -o DB.zip 確認檔案完整性 檢查解壓縮後的檔案 ls -lh DB.sql 請確認檔案大小是否合理,避免損毀的備份檔 du -h DB.sql --------------------------------------------------------- 匯入資料庫 --------------------------------------------------------- cd /tmp mysql -u 使用者名 -p --default-character-set=utf8mb4 資料庫名 < 資料庫備份檔名.sql 或者 mariadb -u 使用者名 -p --default-character-set=utf8mb4 資料庫名 < 資料庫備份檔名.sql 系統會提示輸入使用者名的密碼 恢復時間取決於資料庫大小,可能需要數分鐘至數小時 匯入過程請勿中斷 ------------------------------- 刪除資料庫的備份檔 ------------------------------- cd /tmp 資料匯入完成後,請立即刪除暫存檔,避免資料庫備份檔外洩 rm DB.zip DB.sql -------------------------- 恢復Web網站檔案 -------------------------- 使用SFTP上傳 網站備份檔 (web.zip) 到你的論壇根目錄 接著SSH登入,並到 /var/www/域名.com 目錄 cd /var/www/域名.com 解壓縮 網站備份檔 (web.zip) unzip -o web.zip 解壓完成後,刪除網站備份檔 (web.zip) rm web.zip 將所有權變更為網頁伺服器使用者 (確保 Nginx / PHP 有正確的讀寫權限) chown -R www-data:www-data /var/www/域名.com 確認是否都改為 www-data www-data ls -l --------------------------------------------------------------------- 修改 conf_global.php 裡的資料庫名、資料庫用戶、資料庫用戶密碼 --------------------------------------------------------------------- vi /var/www/域名.com/conf_global.php 'sql_database' => '資料庫名稱', 'sql_user' => '資料庫用戶', 'sql_pass' => '用戶密碼', ESC儲存並離開 :wq 為了主機安全,設定標準檔案權限 將所有「目錄」設為 755 find /var/www/域名.com -type d -exec chmod 755 {} \; 將所有「檔案」設為 644 find /var/www/域名.com -type f -exec chmod 644 {} \; ---------------------------------- 強化 conf_global.php 安全性 ---------------------------------- 修改權限為 640 或 600 chmod 640 /var/www/域名.com/conf_global.php --------------------- 排程任務權限確認 --------------------- 確保IPS論壇的 task.php 具備執行權限 chmod 755 /var/www/域名.com/applications/core/interface/task/task.php 檢查 crontab 設定 (如有需要) crontab -l | grep task.php --------------------------- 啟動Nginx --------------------------- 將Nginx啟動 systemctl start nginx -------------------------------------- 使用 phpMyAdmin 進行資料維護 -------------------------------------- 進入phpMyAdmin http://伺服器IP:888/phpmyadmin/ 瀏覽論壇資料庫的 編碼與排序 是否為 utf8mb4_general_ci 或 utf8mb4_unicode_ci 資料表維護 到論壇資料庫 -> 資料表底部 -> 全選 -> 依次使用 檢查資料表 修復資料表 (如有錯誤) 最佳化資料表 注意:若資料表數量多,請注意頁面可能有多頁 ----------------------- 回到論壇 ----------------------- 確認論壇正常運作 https://域名.com/ 接下來,從這個步驟開始做 Cron執行論壇任務、自動備份DB資料庫、自動備份Web網站檔案 Edited February 5Feb 5 by Jack
Create an account or sign in to comment