[英]Mysql backup using mysqldump outputs empty file
I want to make a backup of MySQL Database in Vb.net.我想在 Vb.net 中备份 MySQL 数据库。 I'm using this code :我正在使用此代码:
Dim myProcess As New Process()
myProcess.StartInfo.FileName = "cmd.exe"
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.WorkingDirectory = "c:\bu\"
myProcess.StartInfo.RedirectStandardInput = True
myProcess.StartInfo.RedirectStandardOutput = True
myProcess.Start()
Dim myStreamWriter As StreamWriter = myProcess.StandardInput
Dim mystreamreader As StreamReader = myProcess.StandardOutput
myStreamWriter.WriteLine("mysqldump --user=root --password=MYPASSWORD --host=localhost MYDATABASE > ""C:\bu\1.sql""")
myStreamWriter.Close()
myProcess.WaitForExit()
myProcess.Close()
Thats create a file but the file is always empty...那就是创建一个文件,但该文件始终为空...
In my experience as I remember passwords are not allowed to entered by cmd commands.根据我的经验,我记得 cmd 命令不允许输入密码。 Try this code to get error message on output:尝试此代码以获取有关输出的错误消息:
Dim myProcess As New Process()
myProcess.StartInfo.FileName = "cmd.exe"
myProcess.StartInfo.WorkingDirectory = mysql_path + "\bin"
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.RedirectStandardInput = True
myProcess.StartInfo.RedirectStandardOutput = True
myProcess.StartInfo.RedirectStandardError = True
myProcess.Start()
Dim myStreamWriter As StreamWriter = myProcess.StandardInput
Dim mystreamreader As StreamReader = myProcess.StandardOutput
Dim mystreamerror As StreamReader = myProcess.StandardError
myStreamWriter.WriteLine(String.Format("mysqldump --user=root --password=MYPASSWORD --host=localhost MYDATABASE > ""C:\bu\1.sql""")
myStreamWriter.WriteLine(String.Format("exit"))
myStreamWriter.Close()
Dim msg As String = mystreamerror.ReadToEnd()
mystreamerror.Close()
If msg.Length > 0 Then
MsgBox(msg)
End If
myProcess.WaitForExit()
myProcess.Close()
If the problem is from setting password you can check this article for setting a password in options file.如果问题出在设置密码上,您可以查看本文以在选项文件中设置密码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.