0

我正在尝试使用下一个命令进行转储:

mysqldump -v -u root -p -h 127.0.0.1 -P 3308 -x --add-drop-table --add-locks --create-options -K -e -q -A > database.sql

结果(输入密码后)是消息“连接到 127.0.0.1...”。在这之后什么都没有(没有任何错误,只是在等待)。

database.sql 是空文件。

为什么我看不到任何活动?是虫子吗?

4

2 回答 2

0

正如您所描述的,此问题可能是由于 mysql 服务器未运行或在主机上不可用(在您的情况下为 localhost),或者它正在运行但不在该端口上。

它是一个什么样的系统?如果是 linux/unix 的风格,你可以运行

ps -ef|egrep mysql

查看mysql服务器是否正在运行。检查 Windows 上的等效命令或您可能正在运行的任何其他命令。此外,您可以通过查看这是否有效来验证这是不是问题:

mysql -u root -p -h 127.0.0.1 -P 3308 

解决办法是启动服务器:

/etc/init.d/mysqld start

或系统上的等效项。

注意:如果它正在运行,请确定它在哪个端口上 - 您可能没有指定正确的端口号。默认值为 3306 - 您使用非标准端口是不寻常的。

于 2013-10-22T14:06:32.857 回答
0

来自http://linuxcommand.org/man_pages/mysqldump1.html

连接到服务器时使用的密码。如果使用短选项形式 (-p),则选项和密码之间不能有空格。如果您在命令行中省略了 --password 或 -p 选项后面的密码值,系统会提示您输入密码值。

系统可能正在等待您输入密码。

如果你想避免这种情况,只需在命令中添加密码。假设您的密码是“FLOWER”:

mysqldump -v -u root -pFLOWER -h 127.0.0.1 -P 3308 -x --add-drop-table --add-locks --create-options -K -e -q -A > database.sql
于 2013-10-17T21:04:53.603 回答