Я хочу скрыть определенные таблицы (некоторые таблицы определения) в базе данных от определенных пользователей. Существует таблица mysql.tables_priv, которая пуста. Должен ли я вставить что-то в эту таблицу, чтобы это произошло, и каково должно быть значение столбца «table_priv»?MySql: Скрыть определенные таблицы от определенных пользователей
ответ
Вы должны изучить команду SQL GRANT. С GRANT, вы можете назначить права пользователям, как это:
GRANT SELECT ON table TO user;
Если tables_priv пуст, я считаю, что это не означает, что никаких льгот было предоставлено для этой таблицы базы данных. Вы можете выполнить быстрый тест и предоставить select в базе данных.table_name пользователю и посмотреть, появится ли строка в этой таблице. Но обычно ваши гранты на таблицах появляются в этой таблице.
Да, я предоставил некоторые роли таблице, и эти записи появляются в ** tables_priv **. Иначе в этой таблице ничего нет. И кажется, что все пользователи имеют все права на всех таблицах !? – sunsa428
Но ** mysql.tables_priv ** таблица пуста; Означает ли это, что каждый пользователь имеет все права на каждый стол? Кроме того, моя задача - «Отменить» право просмотра/редактирования таблицы. – sunsa428
К сожалению, я не эксперт по MySQL, я думаю, что Google - ваш друг;) – verhage