如何将mysqldump与localhost:3307一起使用?

时间:2011-07-19 18:43:43

标签: mysql localhost mysqldump

使用Localhost:3307设置MySQL数据库。我正在尝试使用mysqldump命令来备份我的同事的所有数据。我写了这样的命令行:mysqldump -u root -h 3307 -p database> “path_to_dumpfile \ database.sql”。然后,我被提示输入密码(当我打开工作台时不再询问)。问题是,我收到以下错误消息:“mysqldump:得到错误:2005:未知的mysql服务器主机'3307'< 2>尝试连接时” 有什么我做错了吗?或者我没有遵循的一步?

感谢您的帮助。

7 个答案:

答案 0 :(得分:2)

我有一个类似的问题,我在我的服务器上运行了两个mysql实例,一个在端口3306上,一个在3307上。看来mysqldump,即使我指定端口为3307,也是连接到实例在3306.我的解决方法是关闭在3306上运行的实例。我只能假设这是mysqldump如何识别正在运行的实例的错误。

答案 1 :(得分:1)

我遇到了同样的问题,也使用了--port参数,我解决了使用a serverfault answer中的这个建议:

  

当给出localhost参数时,MySQL使用套接字。使用127.0.0.1   代替。

答案 2 :(得分:0)

我知道我迟到了这个话题。但这可以在将来帮助某人。

echo off 

set TIMESTAMP=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%

"C:\Program Files\MySQL\MySQLWorkbench6.3CE\mysqldump.exe" -uroot -ppassword -hlocalhost -P3307 ecommerce  > C:\Users\User\Desktop\backmeup\destination_\ecommerce.%TIMESTAMP%.sql 

众所周知,-p代表密码,-P代表端口。

由于某些原因,如果我使用-u root -p password等空格,它仍会给出错误。

而且,使用--databases对我不起作用。相反,我添加了:

echo off 

set TIMESTAMP=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%

    "C:\Program Files\MySQL\MySQLWorkbench6.3CE\mysqldump.exe" -uroot -ppassword -hlocalhost -P3307 ecommerce  > C:\Users\User\Desktop\backmeup\destination_\ecommerce.%TIMESTAMP%.sql 
    "C:\Program Files\MySQL\MySQLWorkbench6.3CE\mysqldump.exe" -uroot -ppassword -hlocalhost -P3307 equipment_rent  > C:\Users\User\Desktop\backmeup\destination_\equipment_rent.%TIMESTAMP%.sql 

答案 3 :(得分:0)

如其他建议一样,问题可能出在使用localhost / 127.0.0.1时使用了错误的协议。 因此,除了def maxlagerbestand(autolager): max_v = max(autolager.values(), default=None) return max_v, [k for k, v in autolager.items() if v == max_v]之外,还添加了协议。

尝试:

>>> maxlagerbestand({}) 
(None, []) 

来自--port=3307

  

-protocol = {TCP | SOCKET | PIPE | MEMORY}

     

用于连接到服务器的连接协议。当其他连接参数通常会导致使用您想要的协议以外的协议时,这很有用。有关允许值的详细信息,请参见第4.2.2节“连接到MySQL服务器”。

答案 4 :(得分:0)

尝试在命令行中添加--port=port_num,而不是-h(如果前者不起作用,则将-P port_num添加到命令行),如下所示:

mysqldump -u root --port=3307 -p database > ..\path_to_dumpfile\database.sql

我建议您看一下MySQL手册,以了解mysqldump命令的其他可能参数,链接如下。

来源:https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html

答案 5 :(得分:0)

mysqldump -u usernameHere -p -h localhost --port = 3306 DatabaseNameHere> FileNameHere.sql

答案 6 :(得分:-1)

mysqldump --host 192.168.1.1 --port 3307 -u root -pYourrootpassword --routines --all-databases | gzip> / yourbackuppath /文件名_ date +%d。sql.gz