Mysqldump连接问题

时间:2013-10-17 19:37:44

标签: mysql database backup mysqldump

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

  

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是空文件。

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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 - 您使用非标准端口是不常见的。