使用PowerShell批量導出MySQL數(shù)據(jù)庫的新手教程
引言
在日常開發(fā)或運維中,我們常常需要備份 MySQL 數(shù)據(jù)庫。手動操作不僅繁瑣,還容易遺漏。本文將教你如何使用 PowerShell 腳本,一鍵導出所有非系統(tǒng)數(shù)據(jù)庫,并自動按時間歸檔,適合 Windows 用戶,零基礎(chǔ)也能輕松上手。
準備工作
1 安裝 MySQL 并獲取 mysqldump 工具
如果你尚未在 Windows 電腦上安裝 mysqldump,請參考這篇詳細教程:
Windows電腦安裝mysqldump的詳細教程_Mysql_腳本之家
該文章會指導你:
- 如何下載 MySQL 安裝包
- 如何配置環(huán)境變量
- 如何驗證
mysqldump.exe是否可用
安裝完成后,請確認以下兩個工具的路徑:
C:\Programs\MySQL\bin\mysqldump.exe C:\Programs\MySQL\bin\mysql.exe
你可以在文件資源管理器中搜索這兩個文件,復制它們的完整路徑。
2 創(chuàng)建 my.ini 配置文件
在你的電腦上創(chuàng)建一個配置文件,例如 C:\Users\5277\my.ini,內(nèi)容如下:
[client] user=dev password=123456 host=192.168.0.77 port=3306
說明:
user和password是你的數(shù)據(jù)庫登錄賬號host是數(shù)據(jù)庫服務器地址(本地或遠程)port是數(shù)據(jù)庫端口,默認是3306
這個文件的作用是讓腳本自動讀取連接信息,避免在命令中暴露密碼。
PowerShell 腳本代碼
將以下代碼保存為 mysql_backup.ps1:
# 配置項
$mysqlDump = "C:\Programs\MySQL\bin\mysqldump.exe"
$mysqlCmd = "C:\Programs\MySQL\bin\mysql.exe"
$defaults = "--defaults-extra-file=C:\Users\5277\my.ini"
$charset = "utf8mb4"
# 獲取當前時間戳
$timestamp = Get-Date -Format "yyyy_MM_dd_HH_mm_ss"
# 創(chuàng)建導出目錄(以時間戳命名)
$exportDir = Join-Path $PWD $timestamp
if (-not (Test-Path $exportDir)) {
New-Item -ItemType Directory -Path $exportDir | Out-Null
}
# 獲取數(shù)據(jù)庫列表(排除系統(tǒng)庫)
$databases = & "$mysqlCmd" `
$defaults `
"-N" `
"-e" "SHOW DATABASES;" | Where-Object {
$_ -notin @("information_schema", "performance_schema", "mysql", "sys")
}
# 導出每個數(shù)據(jù)庫
foreach ($db in $databases) {
Write-Host "?? 正在導出數(shù)據(jù)庫:$db"
$filename = "$db-$timestamp-dump.sql"
$resultFile = Join-Path $exportDir $filename
& "$mysqlDump" `
$defaults `
"--quick" `
"--skip-lock-tables" `
"--max_allowed_packet=1G" `
"--routines" `
"--events" `
"--triggers" `
"--set-gtid-purged=OFF" `
"--default-character-set=$charset" `
"--set-charset" `
"--databases" "$db" `
"--result-file=$resultFile"
}
Write-Host "`n? 所有數(shù)據(jù)庫導出完成,保存在目錄:$exportDir"
如何運行腳本
- 打開 PowerShell(建議以管理員身份)
- 切換到腳本所在目錄,例如:
cd C:\Users\5277\Documents\MySQLBackup
- 運行腳本:
.\mysql_backup.ps1
導出結(jié)果說明
- 每次運行腳本,會在當前目錄下創(chuàng)建一個以時間戳命名的文件夾,例如:
2025_10_28_09_10_08 - 每個數(shù)據(jù)庫會生成一個
.sql文件,文件名格式為:數(shù)據(jù)庫名-時間戳-dump.sql - 所有文件都是純文本格式,可用于恢復或版本管理
常見問題
報錯:Can’t create/write to file…
說明目標目錄不存在。腳本中已自動創(chuàng)建目錄,如仍報錯,請檢查:
- 當前用戶是否有寫入權(quán)限
my.ini路徑是否正確- 數(shù)據(jù)庫連接是否成功
總結(jié)
通過這個腳本,你可以:
- 自動導出所有非系統(tǒng)數(shù)據(jù)庫
- 按時間歸檔,便于管理
- 保持備份一致性,適合定期任務或手動執(zhí)行
到此這篇關(guān)于使用PowerShell批量導出MySQL數(shù)據(jù)庫的新手教程的文章就介紹到這了,更多相關(guān)PowerShell批量導出MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PowerShell重啟服務命令Restart-Service詳細介紹
這篇文章主要介紹了PowerShell重啟服務命令Restart-Service詳細介紹,Restart-Service命令主要用來重啟一些系統(tǒng)級的服務,需要的朋友可以參考下2014-08-08
PowerShell腳本 隨機密碼生成器(ps隨機密碼生成器)
這篇文章主要介紹了PowerShell腳本 隨機密碼生成器,需要的朋友可以參考下2017-10-10
原創(chuàng)powershell腳本小工具ctracert.ps1跟蹤路由(win8以上系統(tǒng))
這篇文章主要介紹了原創(chuàng)powershell腳本小工具ctracert.ps1跟蹤路由(win8以上系統(tǒng)),需要的朋友可以參考下2017-10-10
PowerShell檢查網(wǎng)卡狀態(tài)和對應的電源設(shè)置
這篇文章主要介紹了PowerShell檢查網(wǎng)卡狀態(tài)和對應的電源設(shè)置,本文直接給出了實現(xiàn)方法和使用命令及輸出結(jié)果,需要的朋友可以參考下2015-03-03
PowerShell Empire腳本執(zhí)行錯誤的解決方案
Empire是一個利用漏洞后的框架,它包括一個純PowerShell2.0 Windows代理和一個純Python 2.6/2.7 Linux/OS X代理,它是之前的PowerShell帝國和Python EmPyre項目的合并,本文給大家介紹了PowerShell Empire腳本執(zhí)行錯誤的解決方案,需要的朋友可以參考下2025-07-07

