excluding databases from mysqldump under windows without external tools
As subject I'd like to know if it's possible to use mysqldump excluding some databases under windows. I've already googled and I've found this:
http://datacharmer.blogspot.com/2010/12/ex开发者_如何学编程cluding-databases-from-mysqldump.html
but I'm looking for a solution under windows that doesn't require external tool like powershell,gnuwin32 and so on. Thanks.
This is my final script. It obviously requires odbc driver.
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
Hope that it helps someone else.
You could easily write a short piece of code to do the correct output selection in your language of your choice.
精彩评论