Доступ запрещен для пользователя '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 в его файле конфигурации для использования этого нового пользователя.