gpt4 book ai didi

mysql - 使用vb6从wampserver导出mysql数据库

转载 作者:行者123 更新时间:2023-11-30 00:51:57 25 4
gpt4 key购买 nike

我在从 wampserver 导出 mysql 数据库时遇到问题。我使用以下代码:

Private Sub cmdBackup_Click()
Screen.MousePointer = vbHourglass
DoEvents

cmd = Chr(34) & "C:\Documents and Settings\Owner\Desktop\Documents\Clients\Darwin\mysql\mysqldump" & Chr(34) & "mysqldump.exe -uroot -p -hlocalhost school > c:\a.sql"
Call execCommand(cmd)

Screen.MousePointer = vbDefault
MsgBox "Done"

End Sub

正如预期的那样,在我的 C:/中创建了一个 .sql 文件。但由于未知原因,创建的sql文件是空的(字面上是空的,0字节,里面没有文本)。

有人可以帮助我吗?提前致谢!对不起我的英语。

最佳答案

自从我使用 VB6 以来,我不知道该代码是否应该工作,但我看到的一个明显问题是,当您执行此语句时,

mysqldump.exe -uroot -p -hlocalhost school > c:\a.sql

mysqlsump.exe 将看到 -p 参数并期望从控制台输入密码。从命令窗口手动尝试!

我猜测没有控制台,即使有,用户也不应该知道 root 帐户的密码。

快速解决方案是将代码更改为:

mysqldump.exe -uroot -pSuperUsersPassword -hlocalhost school > c:\a.sql

但这是一个重大的安全噩梦,因为您已将 MySQL super 用户密码硬编码在一段代码中。请记住,MySQL 是一种合适的 DBMS,可以管理许多不同的数据库,而不仅仅是您正在使用的数据库。

此外,如果密码发生更改,您必须记住同时更改此代码,维护噩梦

至少您应该在 MySQL 中创建一个新用户帐户,该帐户只能访问此一个数据库,并且只有执行备份的权限(SELECT、SHOW DATABASES、LOCK TABLES、EVENT) 。那么至少你不会将皇冠上的 gem 送给任何可以看到你的源代码或可以读取你的可执行文件的十六进制转储的人。

关于mysql - 使用vb6从wampserver导出mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20898521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com