如何在 vb.net 中执行 mysqldump 命令
How to execute mysqldump command in vb.net
首先,我使用命令提示符 (cmd.exe) 进入 mysql workbench 目录,然后我得到了可以正常工作的休闲命令:
mysqldump --host=ip1 --user=username --password=123 --dadabase=dbName --tables tb1 --quick --force --routines --events --lock-tables=false ==compress | mysql --host=ip2 --user=username --password=123 -b dbName
我的问题是,当我尝试在应用程序中执行此命令时,代码是:
Process.Start("C:\program files\Mysql\Mysql Workbench 6.3 CE\mysqldump.exe","--host=ip1 --user=username --password=123 --dadabase=dbName --tables tb1 --quick --force --routines --events --lock-tables=false ==compress | mysql --host=ip2 --user=username --password=123 -b dbName")
当我执行这段代码时,没有任何反应......我也尝试使用shell
dim id as integer = Shell("C:\program files\Mysql\Mysql Workbench 6.3 CE\mysqldump.exe --host=ip1 --user=username --password=123 --dadabase=dbName --tables tb1 --quick --force --routines --events --lock-tables=false ==compress | mysql --host=ip2 --user=username --password=123 -b dbName")
我确实以错误的方式使用了参数:( ...有人可以帮助我吗?
我还使用了联合 table,但在这种情况下,由于 table 的大小过大,服务器的内存被多收了....
Shell("C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump.exe --user=root --password=admin --host=localhost --databases myDB > C:/db_backup.sql")
经过一番研究,我找到了解决方案,即:
Process.Start("cmd.exe","/k cd C:\Program Files MySQL Server 5.7\bin\ & mysqldump --host=ip1 --user=username --password=123 --dadabase=dbName --tables tb1 --quick --force --routines --events --lock-tables=false ==compress | mysql --host=ip2 --user=username --password=123 -b dbName & exit")
在我试图直接执行 mysqldump 之前,但我意识到我必须先执行命令提示符 (cmd.exe),然后使用我需要的参数在它自己的目录中执行 mysqldump。 (当我们在参数的开头使用 /k 时,我们可以使用多个命令,字符 '&' 分隔不同的命令,例如更改目录或执行 mysqldump.exe)。
首先,我使用命令提示符 (cmd.exe) 进入 mysql workbench 目录,然后我得到了可以正常工作的休闲命令:
mysqldump --host=ip1 --user=username --password=123 --dadabase=dbName --tables tb1 --quick --force --routines --events --lock-tables=false ==compress | mysql --host=ip2 --user=username --password=123 -b dbName
我的问题是,当我尝试在应用程序中执行此命令时,代码是:
Process.Start("C:\program files\Mysql\Mysql Workbench 6.3 CE\mysqldump.exe","--host=ip1 --user=username --password=123 --dadabase=dbName --tables tb1 --quick --force --routines --events --lock-tables=false ==compress | mysql --host=ip2 --user=username --password=123 -b dbName")
当我执行这段代码时,没有任何反应......我也尝试使用shell
dim id as integer = Shell("C:\program files\Mysql\Mysql Workbench 6.3 CE\mysqldump.exe --host=ip1 --user=username --password=123 --dadabase=dbName --tables tb1 --quick --force --routines --events --lock-tables=false ==compress | mysql --host=ip2 --user=username --password=123 -b dbName")
我确实以错误的方式使用了参数:( ...有人可以帮助我吗?
我还使用了联合 table,但在这种情况下,由于 table 的大小过大,服务器的内存被多收了....
Shell("C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump.exe --user=root --password=admin --host=localhost --databases myDB > C:/db_backup.sql")
经过一番研究,我找到了解决方案,即:
Process.Start("cmd.exe","/k cd C:\Program Files MySQL Server 5.7\bin\ & mysqldump --host=ip1 --user=username --password=123 --dadabase=dbName --tables tb1 --quick --force --routines --events --lock-tables=false ==compress | mysql --host=ip2 --user=username --password=123 -b dbName & exit")
在我试图直接执行 mysqldump 之前,但我意识到我必须先执行命令提示符 (cmd.exe),然后使用我需要的参数在它自己的目录中执行 mysqldump。 (当我们在参数的开头使用 /k 时,我们可以使用多个命令,字符 '&' 分隔不同的命令,例如更改目录或执行 mysqldump.exe)。