У меня есть приложение Laravel, которое использует MySQL в качестве основной БД. Сейчас мы пытаемся реализовать службу MySQL Azure, но имена пользователей поставляются с «@».
Например, если мое имя сервера «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 (я думаю?).
Как я могу заставить это соединение работать?
Спасибо