将MySQL Workbench链接到我的远程服务器

Jef*_*eff 6 mysql mysql-proxy mysql-workbench

我刚刚下载了MySQL Workbench.

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

工作台要求"主机名",所以我提供了我的远程服务器的主机名.我指的是3306端口.

然后我提供用户名.这是我登录PhpAdmin时使用的用户名 - 我应该使用另一个吗?

然后我提供了一个密码,也就是我用于PhpAdmin的密码.

但这不起作用.

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

但这似乎不对 - 在phpAdmin我的用户名说username@localhost.

我不太清楚该怎么做.

你能帮助我吗?

Mic*_*ski 14

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

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

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

GRANT ALL PRIVILEGES on dbname.* TO yourusername@your_remote_hostname IDENTIFIED BY 'yourpassword';
Run Code Online (Sandbox Code Playgroud)

要查看您当前拥有的所有授权,localhost以便可以为远程主机复制它们:

SHOW GRANTS FOR yourusername@localhost;
Run Code Online (Sandbox Code Playgroud)

此外,MySQL服务器需要设置为首先接受远程连接.情况并非总是如此,特别是在网络托管平台上.在my.cnf文件中,skip-networking必须删除或注释掉该行.如果没有skip-networking行,则必须注释掉该行:

bind-address = 127.0.0.1 
Run Code Online (Sandbox Code Playgroud)

...然后重启MySQL.