исключение баз данных из mysqldump под windows без внешних инструментов - PullRequest
1 голос
/ 16 марта 2011

В качестве темы я хотел бы знать, возможно ли использовать mysqldump, исключая некоторые базы данных под windows.Я уже гуглил и нашел это:

http://datacharmer.blogspot.com/2010/12/excluding-databases-from-mysqldump.html

, но я ищу решение под окнами, которое не требует внешнего инструмента, такого как powershell, gnuwin32 и т. Д.на.Благодарю.

Ответы [ 2 ]

3 голосов
/ 20 марта 2011

Это мой последний сценарий.Очевидно, что требуется драйвер odbc.

set cn = CreateObject("ADODB.Connection")
set rs = CreateObject("ADODB.Recordset")
Set oShell = WScript.CreateObject("WScript.Shell")
user = "my_user"
password = "my_password"
mysqlPath = "C:\mysql_path\bin\mysqldump.exe"
bkDate = DatePart("yyyy",Date) _
         & Right("0" & DatePart("m",Date), 2) _
         & Right("0" & DatePart("d",Date), 2)
dumpPath = "c:\my_path\dump_" & bkDate & ".txt"
strDbList = ""
cn.connectionString = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;User="&user&";Password="&password&";"
cn.open
rs.open "select schema_name from information_schema.schemata where schema_name not in('db1','db2','.....') order by schema_name", cn, 3
rs.MoveFirst
while not rs.eof
    strDbList = strDbList & rs(0) & " "
    rs.movenext
wend
oshell.run "cmd /k " & mysqlPath & " -u" & user & " -p" & password & " --database " & strDbList & "> " & chr(34) & dumpPath & chr(34),0    
cn.close
set oShell = nothing                                                          
set rs = nothing

Надеюсь, что это поможет кому-то еще.

1 голос
/ 17 марта 2011

Вы можете легко написать небольшой фрагмент кода, чтобы сделать правильный выбор вывода на выбранном вами языке.

...