iT邦幫忙

0

請問如何把MYSQL的指令,寫成 .bat 檔

你好

每次要備份MYSQL的資料庫,都要打一連串的指令,請問是否可以做成一個 .bat檔,我只要每次改一下 1030709.sql 這個備份的日期,就好了,感謝各位

以下是指令
C:\ETIS\backup>mysqldump.exe --user=root --password --single-transaction=TRUE --routines "etis" > "C:\ETIS\backup\1030709.sql"

輸入之後,我還要輸入一組密碼,才能備份資料庫

slime iT邦大師 1 級 ‧ 2014-07-09 10:52:19 檢舉
就把上面那串, 在記事本輸入後, 另存成 .bat .

還可以把日期用 %date% 等變數替換掉, 達成自動備份.

(網路上有些文件, 可以用 mysqldump 跟 %date% 找一下.)
CalvinKuo iT邦大師 7 級 ‧ 2014-07-09 11:48:39 檢舉
下面今天會輸出20140709,轉成民國年要有請高手了...
%date:~0,4%%date:~5,2%%date:~8,2%

其實--password(-p)後面就可以打密碼了,不過一點都不安全...
zcm iT邦新手 1 級 ‧ 2014-07-10 23:05:50 檢舉

calvinkuo 說:
下面今天會輸出20140709,轉成民國年要有請高手了...
檢視原始檔複製到剪貼簿列印關於
%date:~0,4%%date:~5,2%%date:~8,2%

其實--password(-p)後面就可以打密碼了,不過一點都不安全...
2014-07-09 11:48:39



rem 轉民國年
set /a yyy=%date:~0,4% - 1911
set /a oDate=%yyy%%date:~5,2%%date:~8,2%

1 個回答

2
neo2124
iT邦新手 2 級 ‧ 2014-07-09 12:01:44
最佳解答

底下是最簡單的bat

FOR /F "TOKENS=1,2 DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('DATE/T') DO SET dd=%%B
FOR /F "TOKENS=3,4 DELIMS=/ " %%A IN ('DATE/T') DO SET dweek=%%B
SET date=%mm%%dd%

mysqldump.exe -u admin -p 123456(密碼) -h localhost test(要備份的db) > D:\mysqldump\mysqldump-%date%.sql

Rem 壓縮
gzip -9 -f -r D:\mysqldump\mysqldump-%Monthdate%.sql

我要發表回答

立即登入回答