Доступ запрещен для пользователя 'root'@'localhost' при доступе к DKAN

Я установил DKAN и недолго поработал. Затем я закрыл все и попытался открыть снова, у меня появилось следующее сообщение об ошибке:

The website encountered an unexpected error. Please try again later.
Drupal\Core\Database\DatabaseAccessDeniedException: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) in Drupal\Core\Database\Driver\mysql\Connection::open() (line 156 of /var/www/html/core/lib/Drupal/Core/Database/Driver/mysql/Connection.php).
Drupal\Core\Database\Driver\mysql\Connection::open(Array) (Line: 376)
Drupal\Core\Database\Database::openConnection('default', 'default') (Line: 166)
Drupal\Core\Database\Database::getConnection('default')
call_user_func_array('Drupal\Core\Database\Database::getConnection', Array) (Line: 79)
Drupal\Component\DependencyInjection\PhpArrayContainer->createService(Array, 'database') (Line: 171)
Drupal\Component\DependencyInjection\Container->get('database', 1) (Line: 260)
Drupal\Component\DependencyInjection\PhpArrayContainer->resolveServicesAndParameters(Array) (Line: 62)
Drupal\Component\DependencyInjection\PhpArrayContainer->createService(Array, 'cache.container') (Line: 171)
Drupal\Component\DependencyInjection\Container->get('cache.container') (Line: 513)
Drupal\Core\DrupalKernel->getCachedContainerDefinition() (Line: 868)
Drupal\Core\DrupalKernel->initializeContainer() (Line: 466)
Drupal\Core\DrupalKernel->boot() (Line: 656)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

Я считаю, что это может быть тот факт, что я вошел как username Значение admin но когда я создавал его на своем ноутбуке (я использую Ubuntu 18), база данных была создана из root. Однако я до сих пор не знаю, действительно ли это проблема или как ее исправить.

1 ответ

Сначала создайте нового пользователя базы данных для вашего экземпляра Drupal, а не используйте root.

Запустив mysql -u root -pв командной строке и введите пароль. Потом:

 CREATE USER drupal@localhost IDENTIFIED BY 'secretpassword';
 GRANT ALL ON drupaldatabase.* TO drupal@localhost;

Во-вторых, настройте приложение Drupal в его файле конфигурации для использования этого нового пользователя.

Другие вопросы по тегам