Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何允许用户在Cpanel(Silverstripe)中创建随机命名数据库的权限_Database_Automated Tests_Cpanel_Silverstripe_Whm - Fatal编程技术网

Database 如何允许用户在Cpanel(Silverstripe)中创建随机命名数据库的权限

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将在每次执行测试

我正在试着设置!在CPanel。当我在url中运行任何测试时(在我的例子中是DOMAIN/dev/tests/AggregateTest),它说

致命错误:无法运行查询:为用户创建数据库
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
    文件中定义
    SS\u DATABASE\u PREFIX
    ,将其设置为“username\u”。这将影响所用临时数据库的名称
  • 如果不想使用随机数据库名称,可以修改
    SapphireTest::create_temp_db()

您好,我确实具有服务器的root访问权限。我如何继续使用MySQL根用户名和密码来实现这一点?