Я использую Aurora MySQL 5.6 со своим приложением, в котором я использую EF Core (2.1) в качестве ORM. Я запускаю миграции с моего сервера сборки TeamCity.
Миграции выполняются пользователем 'tc-user'@'%'
, который идентифицируется паролем и имеет набор разрешений для изменения схемы, например, c. Строка подключения извлекается из AWS хранилища параметров SSM.
Иногда запуск миграций dotnet ef database update
завершается неудачно с сообщением об ошибке
An error occurred using the connection to database '' on server 'redacted.eu-west-1.rds.amazonaws.com'.
MySql.Data.MySqlClient.MySqlException (0x80004005): Access denied for user 'tc-user'@'172.31.2.37' (using password: YES)
Когда это происходит, я обнаружил, что есть новый пользователь, созданный без пароля или разрешений в этой базе данных - 'tc-user'@'172.31.2.37'
.
Если я удаляю этого пользователя - миграции проходят. Но время от времени это случается снова, и в последнее время это происходит чаще. Это также происходит в нескольких кластерах.
Иногда, когда в сборке выполняется более 1 миграции, она выполняет некоторые из них, а затем прерывается.
Почему он создает этого пользователя?
Я попытался установить тот же пароль для нового пользователя и дать ему те же разрешения, что и у основного, но миграции все равно не удаются. Таким образом, наличие обоих пользователей, кажется, тоже не вариант.