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

MySQL 資料庫備份小妙招:專用帳號、Windows 定時遠程備份與批次自動化

     編輯:MySQL 綜合教學

MySQL 備份實戰技巧:安全、自動化、跨平台

備份不僅是執行指令,更是系統工程。本文分享三個實戰妙招:最小權限備份帳號、Windows 計畫任務定時遠程備份、批次檔自動化清理過期檔案。

一、建立專用備份帳號(最小權限原則)

避免使用 root 執行備份,降低誤操作與洩露風險。

CREATE USER 'backup'@'%' IDENTIFIED BY '123456';
GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'backup'@'%';
FLUSH PRIVILEGES;

僅需 SELECT(讀資料)與 LOCK TABLES(一致性鎖)即足夠。

二、Windows 遠程備份指令實戰

場景

  • 來源:192.168.1.2 的 backup_test 資料庫
  • 目標:本機 D:\bak\backup.sql
  • 帳號:backup / 123456

命令列執行

mysqldump -u backup -p123456 -h 192.168.1.2 backup_test > D:\bak\backup.sql

參數解析:

  • -u 使用者名(緊跟)
  • -p 密碼(緊跟,無空格)
  • -h 遠程主機 IP(省略即本機)
  • > 導向輸出檔(需絕對路徑)

三、批次檔 + 計畫任務實現定時自動化

1. 建立 backup.bat

@echo off
set DATE_STR=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
set FILE=D:\bak\backup_%DATE_STR%.sql
mysqldump -u backup -p123456 -h 192.168.1.2 backup_test > %FILE%
# 可選:壓縮
# gzip %FILE%

2. 設定 Windows 計畫任務

  1. 控制台 → 系統管理工具 → 工作排程器
  2. 建立基本任務 → 每日觸發 → 啟動程式:cmd.exe 參數:/c D:\scripts\backup.bat
  3. 勾選「不管使用者是否登入都要執行」

四、Windows 環境避坑指南

  • 無 gzip:Windows 缺預設壓縮工具,備份檔易暴增,需定期清理。
  • 清理腳本:forfiles /p D:\bak /m *.sql /d -7 /c "cmd /c del @path"(刪 7 天前檔案)
  • 路徑空格:路徑含空格請用雙引號包裹。
  • 防火牆:確保 3306 連接埠雙向通暢。

五、進階補充:Linux 環境同樣適用

# crontab -e
0 2 * * * /usr/bin/mysqldump -u backup -p'123456' -h 192.168.1.2 backup_test | gzip > /backup/backup_$(date +\%Y\%m\%d).sql.gz

善用專用帳號、自動化排程、保留策略,讓備份從「手動動作」昇級為「可靠系統能力」。

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