在适用于 Windows 的 MySQL 5.1 上,为什么我无法将 DBA 角色分配给“root”用户?MySQL Workbench 允许我添加除 DBA 之外的所有其他角色。此外,当我以 root 身份登录时,在任何表上“更改架构”时,我看不到显示所有数据库属性的所有选项卡……我只看到允许我更改排序规则的第一个选项卡。
这张图片有什么问题?我该如何授予 root 所有权限?我尝试了命令行中的 GRANT ALL PRIVILEGES 等几种变体,但都不起作用。
我的根账户无法更改我创建的任何给定表的列名、索引或选项。我可以创建表并删除它们,但无法更改它们。
答案1
root 默认拥有所有权限。你认为为什么需要赋予它更多权限?
尝试运行这些 SQL 语句进行验证。与几乎所有其他帐户进行比较,您会发现 root 在 mysql.user 表中拥有的权限远远超过任何其他帐户,除非您做了一些不寻常的事情。
show grants for 'root'@'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '...' WITH GRANT OPTION
select * from mysql.user where user='root';
*************************** 3. row ***************************
Host: 127.0.0.1
User: root
Password: ...
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y