【发布时间】:2018-11-13 01:58:22
【问题描述】:
我有一个使用 MySQL 作为其主数据库的 Laravel 应用程序。我们现在正在尝试实现 Azure MySQL 服务,但用户名中带有一个“@”。
例如,如果我的服务器名称是“test”,那么从 cli 连接:
mysql -htest.mysql.database.azure.com -u'someuser@test' -p
我可以毫无问题地从 Java 和 Go 连接,但 Laravel 无法处理用户名中的“@”。它将'@'后面的字符串作为主机并尝试连接它,但它没有解析到任何IP,因此连接失败。
我试图逃避像'user\@test'、'user@test'和'userU+0040test'这样的符号,但没有任何效果。服务器总是返回这个错误:
SQLSTATE[HY000] [9002] The connection string may not be right. Please visit portal for references
Azure 门户显示了使用 mysqli 进行连接的代码,这很有效,但我不能使用 Laravel 中的代码(我想?)。
我怎样才能使这个连接工作?
谢谢
【问题讨论】: