Mysql 撤销root用户的权限

标签 mysql heidisql

我需要撤销 mySql 中 root 用户的权限。 root 用户不应该能够在数据库中创建和删除表。

我检查了撤销命令,但不知何故它对 root 用户不起作用。如果我创建一个新用户并撤销权限,它会起作用,我对 root 用户缺少什么,或者我们无法撤销“root”的权限?

SHOW GRANTS FOR root@localhost;

--显示

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;

Access denied for user 'root'@'localhost' to database 'myDb'

最佳答案

我认为,你不想这样做。 Root 用户通过这种方式拥有所有 CRUD 操作的所有权限,并创建新用户并授予他们权限。

如果您的动机是限制访问,请根据您的需要设置不同的用户。例如:您可能只想让用户读取记录。这是一个安全的选择,因为您只能将该用户用于阅读目的。或者仅用于读取、写入和编辑权限。

编辑:

如果您仍想这样做,请查看此答案 How can I restore the MySQL root user’s full privileges? 。它可能对你有帮助。

关于Mysql 撤销root用户的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48074828/

相关文章:

mysql - Rails mySQL 中的绑定(bind)参数为空

php - 将多个关系查询组合在一个 - laravel

mysql - 为什么MariaDB10.0.15有太多 ‘show variables ’?

sql-server - 无法使用 HeidiSQL 连接到 LocalDB

mysql - MariaDB 默认 float 不能包含小数位

mysql - 恢复备份时让MySQL创建数据库

mysql - SQL查询:Having number=max(number) doesn't work

mysql - KNIME mysql 表更新

mysql - 是否可以在来自 3 个表的 SQL 查询中使用两个 COUNT 和两个 JOIN?

mysql - 比较同一个 SQL 表中的 2 列