mysql: отказано в доступе к information_schema

Когда я создаю нового пользователя или предоставляю права существующему, я получаю эту ошибку:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Предоставьте привилегии нормально для всех таблиц, кроме information_schema, в этой таблице я получил ошибку отказа в доступе. Как я могу исправить? Выгрузить все базы данных, сбросить все базы данных, а затем восстановить из дампа?


person aranel    schedule 02.06.2014    source источник
comment
Ты не FLUSH PRIVILEGES;. Или выставил неправильные разрешения.   -  person Daniel W.    schedule 02.06.2014
comment
mysql ›предоставить все привилегии на . 'root' @ 'localhost' с опцией предоставления; ОШИБКА 1045 (28000): доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: ДА) mysql ›предоставить все привилегии на some_db. * Пользователю 'root' @ 'localhost' с опцией предоставления; Запрос в порядке, затронуты 0 строк (0,00 сек)   -  person aranel    schedule 02.06.2014


Ответы (3)


В документации MySQL говорится:

... вы можете только читать содержимое таблиц, но не можете выполнять с ними операции INSERT, UPDATE или DELETE.

person Adam John    schedule 12.11.2014
comment
И это представления, а не базовые таблицы. - person Paul Campbell; 05.12.2017

Нет необходимости предоставлять доступ к этим таблицам. У всех пользователей уже есть доступ.

«Каждый пользователь MySQL имеет право доступа к этим таблицам, но может видеть только те строки в таблицах, которые соответствуют объектам, для которых у пользователя есть соответствующие права доступа. В некоторых случаях (например, столбец ROUTINE_DEFINITION в INFORMATION_SCHEMA.ROUTINES table), пользователи с недостаточными привилегиями будут видеть NULL. "

https://bugs.mysql.com/bug.php?id=45430

http://dev.mysql.com/doc/refman/5.1/en/information-schema.html

person Wodin    schedule 18.08.2015

Обратите внимание, что если у вас есть опечатка в имени information_schema, вы также получите сообщение denied to user. Иногда это сбивает с толку.

select * from bogusSchema.bogusTable;

Ошибка будет

Error Code: 1142. SELECT command denied to user 'user123'@'localhost' for table 'bogusTable'

Я использую InfoBright вариант MySQL. Не уверен, существует ли такая же проблема с другими вариантами / версиями MySQL.

person leeyuiwah    schedule 02.12.2017