Невозможно предоставить MySQL пользователю доступ к базе данных information_schema. - PullRequest
0 голосов
/ 03 марта 2020

Я создаю Laravel приложение и тестирую его в производственном режиме на бесплатной sh установке Ubuntu 19.10.03. Fre sh Установка LAMP (PHP 7.3, MySQL 8.0.19-0).

Я могу создать новую базу данных и нового пользователя, который имеет полный доступ к базе данных, но Laravel требует, чтобы у пользователя была опция SELECT из базы данных 'information_schema'. Вот процесс, который я использую:

$ sudo mysql

mysql> CREATE DATABASE IF NOT EXISTS `my-laravel-database`;
mysql> CREATE USER IF NOT EXISTS 'laravelUser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'myPass';
mysql> GRANT ALL PRIVILEGES ON `my-laravel-database`.* TO 'laravelUser'@'localhost' WITH GRANT OPTION;
mysql> GRANT SELECT ON `information_schema`.* TO 'laravelUser'@'localhost';

Последняя команда всегда возвращает

ERROR 1044 (4200): Access denied for user 'root'@'localhost' to database 'information_schema'

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

Я также попытался установить Ubuntu fre sh с только установленными службами LAMP.

1 Ответ

0 голосов
/ 03 марта 2020

Попробуйте следующее:

  1. USE mysql;

  2. ANALYZE TABLE db; В случае, если таблица не работает, выполните следующее:

  3. REPAIR TABLE db;

Затем перезапустите MySQL сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...