簡體   English   中英

MySQLDUMP和CMD / Powershell之間的區別

[英]MySQLDUMP and the difference between CMD/Powershell

當我從Powershell使用此命令進行mysql dump時,我得到了一個不可用的較大文件。 當我從CMD窗口中使用相同的命令時,使用GUI工具進行導出時,我會得到一個具有相同大小的SQL文件,並且可以使用GUI以及命令行來還原備份。 使用Powershell創建轉儲后,它拒絕還原備份。

我使用以下命令E:\\ Script \\ mysqldump.exe -u root -ppassword -h 127.0.0.1 xticket --lock-tables --disable-keys --add-drop-table --routines --databases> \\\\ location \\ backup.sql

這是我打算使用的powershell腳本:

$Date = [Int] (Get-Date).DayOfWeek
$Su = 0
$Mo = 1
$Tu = 2
$We = 3
$Th = 4
$Fr = 5
$Sa = 6

If ($Date -eq $Mo) 
{
 & "E:\Script\mysqldump.exe" -u root -ppassword -h 127.0.0.1 xticket --lock-tables --disable-keys --add-drop-table --routines --databases > \\location\mobackup.sql
}

ElseIf ($Date -eq $Tu) 
{
 & "E:\Script\mysqldump.exe" -u root -ppassword -h 127.0.0.1 xticket --lock-tables --disable-keys --add-drop-table --routines --databases > \\location\tubackup.sql
}

ElseIf ($Date -eq $We)
{
 & "E:\Script\mysqldump.exe" -u root -ppassword -h 127.0.0.1 xticket --lock-tables --disable-keys --add-drop-table --routines --databases > \\location\webackup.sql
}

ElseIf ($Date -eq $Th)
{
 & "E:\Script\mysqldump.exe" -u root -ppassword -h 127.0.0.1 xticket --lock-tables --disable-keys --add-drop-table --routines --databases > \\location\thbackup.sql
}

ElseIf ($Date -eq $Fr)
{
 & "E:\Script\mysqldump.exe" -u root -ppassword -h 127.0.0.1 xticket --lock-tables --disable-keys --add-drop-table --routines --databases > \\location\frbackup.sql
}

ElseIf ($Date -eq $Sa)
{
 & "E:\Script\mysqldump.exe" -u root -ppassword -h 127.0.0.1 xticket --lock-tables --disable-keys --add-drop-table --routines --databases > \\location\sabackup.sql
}

ElseIf ($Date -eq $Su)
{
 & "E:\Script\mysqldump.exe" -u root -ppassword -h 127.0.0.1 xticket --lock-tables --disable-keys --add-drop-table --routines --databases > \\location\subackup.sql
}

首先,您可以用一種更簡單的方式重寫腳本:

$dayOfWeek = (Get-Date).DayOfWeek.ToString().ToLower().substring(0, 2)
$backupFile = $dayOfWeek + "backup.sql"

& "E:\Script\mysqldump.exe" -u root -ppassword -h 127.0.0.1 xticket --lock-tables --disable-keys --add-drop-table --routines --databases | Out-File $backupFile -Encoding ASCII

請注意,我使用Out-File而不是管道傳輸到文件。 我懷疑您看到的行為差異是由於文件編碼(ASCII / UTF8)引起的。 但是,不確定這是您的問題。 我的機器上沒有安裝mysqldump,我無法對其進行測試。 純粹是猜測。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM