Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将MySQL工作台链接到我的远程服务器_Mysql_Mysql Workbench_Mysql Proxy - Fatal编程技术网

将MySQL工作台链接到我的远程服务器

将MySQL工作台链接到我的远程服务器,mysql,mysql-workbench,mysql-proxy,Mysql,Mysql Workbench,Mysql Proxy,我刚刚下载了MySQL工作台 但我不太明白如何将其与远程服务器上的数据库进行同步 Workbench要求输入“主机名”,所以我提供了远程服务器的主机名。我指定端口3306 然后我提供一个用户名。这是我登录PhpAdmin时使用的用户名——我应该使用其他用户名吗 然后我提供一个密码,同样是我用于PhpAdmin的密码 但这不起作用 奇怪的是,错误总是告诉我我的用户名是:username@current_network_im_using_to_access_the_internet 但这似乎不对——

我刚刚下载了MySQL工作台

但我不太明白如何将其与远程服务器上的数据库进行同步

Workbench要求输入“主机名”,所以我提供了远程服务器的主机名。我指定端口3306

然后我提供一个用户名。这是我登录PhpAdmin时使用的用户名——我应该使用其他用户名吗

然后我提供一个密码,同样是我用于PhpAdmin的密码

但这不起作用

奇怪的是,错误总是告诉我我的用户名是:
username@current_network_im_using_to_access_the_internet

但这似乎不对——在phpAdmin上,我的用户名是
username@localhost

我不太清楚该怎么办


您能帮助我吗?

您的phpMyAdmin似乎与数据库本身在同一台服务器上运行

因此,它可以使用
username@localhost
以连接到服务器

您需要通过添加另一个用户
username@%
%
表示“任何主机”)使mySQL接受来自本地主机外部的连接


注意,这不是一个好的实践——如果你有一个静态IP,考虑限制对那个地址的访问。

MySQL将登录作为特定于它们起源的主机。您可以在家用计算机上使用与服务器本身不同的密码,也可以从不同的源主机向同一用户名授予完全不同的权限集

在PHPMyadmin上,数据库运行在与web服务器相同的服务器上,因此将其自身称为
localhost
,IP
127.0.0.1
。安装Workbench的计算机必须使用与
username@localhost
。服务器要求您从任何要连接的主机授予对用户名的访问权限

在PhpMyAdmin中,您需要授予从远程主机访问数据库的权限:(另请参阅Pekka的答案,了解如何允许从任何主机进行连接)

要查看您当前在
localhost
上拥有的所有授权,以便您可以为远程主机复制这些授权,请执行以下操作:

SHOW GRANTS FOR yourusername@localhost;
此外,MySQL服务器需要首先设置为接受远程连接。情况并非总是如此,尤其是在web托管平台上。在
my.cnf
文件中,必须删除或注释掉
skip networking
行。如果没有
skip networking
行,则必须注释掉该行:

bind-address = 127.0.0.1 

…然后重新启动MySQL。

请注意,不要忘记检查my.cnf中的
绑定地址
参数,默认情况下,服务器只接受本地主机中的连接。非常有帮助的Michael--目前,我的服务器不允许我执行您给我的命令。我认为这可能是因为,正如您所说,MySQL服务器没有设置为接受远程连接。但是,我已经在我的服务器控制器中搜索了'my.cnf',却找不到它。你能不能让我的网络托管公司隐瞒这件事?@Jeff是的,恐怕你必须联系你的网络托管公司,看看他们是否允许远程mysql连接。我认为,不幸的是,他们不允许这样做。@MichaelBerkowski注释出绑定地址我看到的文档说明它必须是服务器的I.P.地址,尽管我不确定当I.P.不是静态的时可以做什么。
bind-address = 127.0.0.1