【发布时间】:2017-05-17 22:24:56
【问题描述】:
尝试从 mysql 客户端连接到我在 Azure 中的 MySQL 服务器时,我收到以下错误,即使我使用了正确的用户名和服务器名称。我该如何解决这个问题?
连接字符串可能不正确。请访问门户以获取参考。
【问题讨论】:
标签: mysql azure azure-database-mysql
尝试从 mysql 客户端连接到我在 Azure 中的 MySQL 服务器时,我收到以下错误,即使我使用了正确的用户名和服务器名称。我该如何解决这个问题?
连接字符串可能不正确。请访问门户以获取参考。
【问题讨论】:
标签: mysql azure azure-database-mysql
连接到 Azure Database for MySQL 的服务器实例时,无论是从 mysqlexe 客户端还是 MySQL 工作台,都需要遵循 <username@hostname> 格式。我们建议您从 Azure 门户获取客户端的完整连接字符串,并在连接到 MySQL 服务器时使用它。
阅读How to get Connection Information,了解更多关于如何从各种客户端连接到您的 MySQL 服务器的信息。
【讨论】:
我也有同样的问题,看来这与 MySQL Shell 有关。不是经典的 mysql.exe 命令行工具。我尝试从 MySQL Shell 中连接到我的 MySQL Azure 数据库,如下所示:
mysql-sql> \sql
mysql-sql> \connect -c myuser@myserver.mysql.database.azure.com
Creating a Classic Session to 'myuser@myserver.mysql.database.azure.com'
Enter password: *********
ERROR: 2001 (28000): The connection string may not be right. Please visit portal for references.
mysql-sql>
根据 Azure 文档(如上所述),用户名应为“username@servername”,但无法使用 MySQL Shell 指定。
有没有人通过 MySQL Shell 成功连接到 Azure MySQL 数据库?
我可以补充一点,我已经使用经典的 mysql.exe 测试了相同的连接信息,并且以下工作正常:
mysql.exe -u myuser@myserver -h myserver.mysql.database.azure.com -p
我的猜测是,真正的问题是 MySQL Shell 不能接受用户名中的 at 符号 (@)。
【讨论】:
在用户名部分使用 username@hostname 对我有用。
【讨论】: