Mysql отозвать разрешение для пользователя root

Мне нужно отменить разрешение для пользователя root в mySql. Пользователь root не должен иметь возможность создавать и удалять таблицы в базе данных.

Я проверил команду revoke, но как-то она не работает для пользователя root. Если я создаю нового пользователя и отменяю разрешение, это работает, что мне не хватает для пользователя root или мы не можем отозвать разрешение для "root"?

SHOW GRANTS FOR root@localhost;

--Displays

GRANT RELOAD, SHUTDOWN, PROCESS, FILE, SHOW DATABASES, SUPER, REPLICATION SLAVE, REPLICATION CLIENT, CREATE USER, CREATE TABLESPACE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*7BB96B4D3E986612D96E53E62DBE9A38AAA40A5A'

GRANT INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `%`.* TO 'root'@'localhost' WITH GRANT OPTION

GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION

затем

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

Отказано в доступе для пользователя 'root'@'localhost' к базе данных 'myDb'

1 ответ

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

Если вы хотите ограничить доступ, создайте разных пользователей в зависимости от ваших потребностей. Например, вы можете захотеть, чтобы пользователь только прочитал записи. Это безопасный вариант, потому что вы можете использовать этого пользователя только для чтения. ИЛИ только для чтения, записи и редактирования прав.

Редактировать:

Если вы все еще хотите это сделать, отметьте эти ответы. Как я могу восстановить полные привилегии пользователя MySQL?, Это может помочь вам.

Другие вопросы по тегам