Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день!
Подскажите, что не так.
Есть БД, так же есть 2 пользователя. Один user1, другой user2
Нужно сделать, так, чтобы user2 не мог видеть и редактировать БД созданные user1
================
Неактивен
ON *.* означает что пользователь имеет права на все базы и таблицы
Неактивен
Так, а как же мне все это изменить?
Неактивен
Например, указать на какие базы имеет права user2
GRANT USAGE ON `имя_базы`.* TO 'user2'@'localhost' IDENTIFIED BY PASSWORD '*AFAFJFAOSFSKDLFJLKSJFLSJEO'
http://dev.mysql.com/doc/refman/5.7/en/grant.html
Неактивен
С правом USAGE он не должен делать SELECT и UPDATE вообще ни для каких баз. У него точно именно такие права?
Неактивен
Вот именно. Что такие. Я залогинился под ним. И смело вижу те БД. Могу делать SELECT выводить содержимое таблиц и так далее.
Неактивен
Создал нового пользователя
Отредактированно saifuddin (05.08.2016 19:41:46)
Неактивен
Все равно видно базу данных test.
Помогите народ!
так же пробовал сделать
GRANT USAGE ON `test`.* TO 'user3'@'localhost' IDENTIFIED BY PASSWORD '*7676FFJSDFLKJFKLSDF'
FLUSH PRIVILEGES;
И все равно, все видит.
Неактивен
интересно, если стоит реплика, это случаем не влияет на все эти права?
Неактивен
База данных test - особенная по правам. Обычно к ней разрешен доступ всем пользователям. Создайте базу с другим именем.
Неактивен
Неактивен
там были и другие базы данных.
Неактивен
Что записано в таблице mysql.db? Нет ли там разрешения использования конкретной базы данных для всех.
Неактивен
Да, там для каждой базы стоят SELECT, UPDATE,INSERT.
А, для некоторых то же самое но ячейка user пустая.
Как все это исправить?
Неактивен
Удалить строки, в которых ячейка User пустая.
Неактивен
Спасибо удалил.
Но, вот что странно. Создал нового пользователя.
Проверил таблицу mysql.db
А, его там нет.
Залогинился под ним, а он имеет все права UPDATE,INSERT,SELECT ко всем БД.
Куда дальше смотреть?
Этот пользователь и был у меня, я его удалил и снова сделал.
Неактивен
В прошлом посте забыл
Неактивен
Да, я ее добавил. Сам увидел, что пропустил ее. Но она не помогла.
Но я нашел решение.
И, так ход действий:
1. Создаем пользователя.
2. Проверяем таблицу mysql.db
Видим, что там нет моего пользователя.
3. Добавляем права за SELECT этому пользователю
4. Снова повторяем пункт 2 и убеждаемся, что он там появился и у него на select стоит Y.
5. Теперь самое интересно, через UPDATE меняем значение Y на N и теперь он больше не будет иметь прав доступа.
У меня стоит galera. Возможно это всему проблема.
Неактивен
ТЕМА ЗАКРЫТА!
Неактивен