Как разрешить пользователю создавать произвольную базу данных в Cpanel (Silverstripe) - PullRequest
0 голосов
/ 31 марта 2012

Я пытаюсь настроить автоматическое тестирование на Silverstripe !в CPanel.Когда я запускаю какой-либо тест в url (для моего случая это DOMAIN / dev / tests / AggregateTest), он говорит:

Неустранимая ошибка: Не удалось выполнить запрос: CREATE DATABASE tmpdb2605857 Доступдля пользователя 'todaytes_root' @ 'localhost' в базе данных 'tmpdb2605857' в /home/todaytes/public_html/sapphire/core/model/MySQLDatabase.php в строке 525

Silverstripe будет создан случайныйименованная база данных каждый раз, когда выполняется тест, и уничтожает его после его завершения.

Из меню «Базы данных» в cPanel мне разрешено добавлять базу данных и пользователя вручную только с некоторым префиксным именем для него (в моем случае, все мои базы данных и пользователя начинаются с todaytes_).Как настроить cPanel / WHM для предоставления разрешения пользователю, чтобы автоматический тест Silverstripe мог нормально работать?

Ответы [ 2 ]

0 голосов
/ 07 июня 2012

Несколько моментов:

  • Вы можете определить SS_DATABASE_PREFIX в своем файле _ss_environment.php, установив для него "username_".Это повлияет на имя используемой временной базы данных.
  • Если вы не хотите использовать случайное имя базы данных, вы можете изменить SapphireTest::create_temp_db().
0 голосов
/ 02 апреля 2012

Пользователь cPanel не имеет доступа к созданию базы данных со случайными именами.Базы данных, созданные из cPanel, всегда имеют префикс «username _»

Если у вас есть root-доступ к серверу, вы можете использовать для этого имя пользователя и пароль root для MySQL.Вы можете получить имя пользователя и пароль root для MySQL из файла /root/.my.cnf

.
...