mysql тщательно отзывает привилегии root - PullRequest
4 голосов
/ 30 марта 2012

Я случайно сделал что-то немного глупое и набрал это в консоли mysql:

mysql> grant all on myDB.* to root@'%' identified by 'root';

... и конфигурация БД открыта для удаленного входа в систему.Теперь мне нужно удалить это разрешение, но я не хочу случайно отменить все привилегии для моего пользователя root и эффективно заблокировать себя из db в качестве администратора db.Что мне делать?

Ответы [ 3 ]

4 голосов
/ 30 марта 2012

Сначала убедитесь, что ваши пользователи root@localhost и / или root@127.0.0.1 имеют доступ.

SHOW GRANTS FOR root@localhost;
SHOW GRANTS FOR root@127.0.0.1;

Вы должны увидеть в наборе результатов строку, подобную GRANT ALL PRIVILEGES ON *.* to... Предполагая, что запись существует, вы можете безопасно удалить грант для root@'%' из базы данных mysql:

REVOKE all on myDB.* from root@'%';
FLUSH PRIVILEGES;

Если вы не хотите, чтобы пользователь root@'%' тоже существовал:

DROP USER root@'%';
0 голосов
/ 30 марта 2012

Использование:

SHOW GRANTS FOR 'root'@'%';

Чтобы увидеть все разрешения, которые есть у root.

Затем, чтобы удалить определенные разрешения:

REVOKE SELECT FROM root@'%'

Здесь больше здесь.

0 голосов
/ 30 марта 2012

одна вещь, которую вы можете сделать, это пройти через mysql.user, чтобы удалить только ошибочную строку и сбросить права доступа

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