Database 如何允许用户在Cpanel(Silverstripe)中创建随机命名数据库的权限
我正在试着设置!在CPanel。当我在url中运行任何测试时(在我的例子中是DOMAIN/dev/tests/AggregateTest),它说 致命错误:无法运行查询:为用户创建数据库Database 如何允许用户在Cpanel(Silverstripe)中创建随机命名数据库的权限,database,automated-tests,cpanel,silverstripe,whm,Database,Automated Tests,Cpanel,Silverstripe,Whm,我正在试着设置!在CPanel。当我在url中运行任何测试时(在我的例子中是DOMAIN/dev/tests/AggregateTest),它说 致命错误:无法运行查询:为用户创建数据库tmpdb2605857访问被拒绝 “todaytes_root”@“localhost”到中的数据库“tmpdb2605857” /home/todaytes/public_html/sapphire/core/model/MySQLDatabase.php,第525行 Silverstripe将在每次执行测试
tmpdb2605857
访问被拒绝
“todaytes_root”@“localhost”到中的数据库“tmpdb2605857”
/home/todaytes/public_html/sapphire/core/model/MySQLDatabase.php,第525行
Silverstripe将在每次执行测试时创建一个随机命名的数据库,并在测试完成后销毁它
在cPanel中的“databases”菜单中,我只允许手动添加带有前缀名称的数据库和用户(在我的情况下,我的所有数据库和用户都以todaytes\uuz开始)。如何配置cPanel/WHM以向用户授予权限,以便Silverstripe自动测试可以正常工作?cPanel用户无权使用随机名称创建数据库。从cPanel创建的数据库始终具有前缀“username\uux” 如果您具有服务器的root访问权限,则可以使用MySQL root用户名和密码来执行此操作。您可以从文件/root/.my.cnf中获得MySQL root用户名和密码,具体如下:
- 您可以在
文件中定义\u SS\u environment.php
,将其设置为“username\u”。这将影响所用临时数据库的名称SS\u DATABASE\u PREFIX
- 如果不想使用随机数据库名称,可以修改
SapphireTest::create_temp_db()