Стандартная процедура переноса аккаунта с сервера на сервер с помощью штатной Transfer Tool прерывалась ошибкой о существующем пользователе БД. Аналогичным образом прерывался и процесс восстановления аккаунта из бекапа. Проверка очевидных вещей показала, что на сервере не было ни пользователя, ни его баз, однако полный текст ошибки был таким:
[396523][RESTORE:1 ][A:cpusername ]: Failed to create the account: A database owner with the name “dbusername” already exists. [396523][RESTORE:1 ][A:cpusername ]: Progress: 21% [396523][RESTORE:1 ]: Account “cpusername”: Account Restore Failed: “Account failure: Failed to create the account: A database owner with the name “dbusername” already exists.” [396523][RESTORE:1 ]: Progress: 100% [396523][RESTORE:1 ]: Child Complete [396523][RESTORE:1 ][A:cpusername ]: Progress: 100% [396523][RESTORE:1 ][A:cpusername ]: Failed: Account Restore Failed: “Account failure: Failed to create the account: A database owner with the name “dbusername” already exists.” [396522][MASTER ]: Session Complete
В ходе разбора ситуации выяснилось, что ранее этот аккаунт (cpusername) на этот сервер переносился, однако трансфер был выполнен некорректно, после чего аккаунт из панели был удалён. При этом, следующий файл оказался не удалён, и именно он мешал распаковке и переносу аккаунта с другого сервера:
/var/cpanel/databases/cpusername.json
Удаление файла исправило ситуацию и аккаунт был перенесён. Важно — файл был удалён только после того как стало ясно что на сервере ни такого пользователя, ни такой базы нет. Кроме указанного, имеет смысл проверить, нет ли вот таких вот файлов, они так же могут приводить к обозначенной выше ошибке при переносе аккаунта:
/var/cpanel/databases/cpusername.cache /var/cpanel/databases/cpusername.yaml /var/cpanel/databases/grants_cpusername.cache /var/cpanel/databases/grants_cpusername.yaml