MySQL权限管理

MySQL中,通过管理权限可以管理用户在MySQL服务器上的操作,如创建和删除数据库,创建和删除用户,以及授予和撤销用户的权限。

也可以只授予用户管理特定数据库和该数据库中的所有对象的权限。这包括对该数据库的所有表、视图、存储过程等的操作权限。

还可以只授予用户管理数据库中特定对象的权限,如表、视图、存储过程、函数等。这些权限可以应用于数据库中特定的对象、整个数据库或整个MySQL服务器。

要修改MySQL数据库中用户的权限,可以按照以下步骤进行操作:

  1. 登录到MySQL数据库。可以使用以下命令登录:
mysql -u username -p

其中,username是您要登录的用户名。

  1. 查看当前的用户和其权限。可以使用以下命令:
SELECT user,host,authentication_string FROM mysql.user;
  1. 使用以下命令修改用户的权限:
GRANT privileges ON database_name.table_name TO 'user_name'@'host_name';

其中,privileges是您要授予的权限,如SELECT、INSERT、UPDATE、DELETE、ALL PRIVILEGES等。database_nametable_name是您要授权的数据库和表的名称。user_name是您要授权的用户名。host_name是该用户名所在的主机名或IP地址。

例如,如果您要授予用户myuser在数据库mydatabase中所有表的SELECT权限,并允许该用户从任何主机连接到MySQL服务器,则可以使用以下命令:

GRANT SELECT ON mydatabase.* TO 'myuser'@'%';
  1. 使用以下命令刷新MySQL的权限表以使更改生效:
FLUSH PRIVILEGES;

授予权限

要将特定数据库的所有权限授予用户,可以使用以下命令:

 GRANT ALL ON example_database.* TO 'example_user'@'%';

该命令授予了用户example_userexample_database数据库中的所有对象的所有权限。%表示该用户可以从任何主机连接到MySQL服务器。

要将特定数据库的所有权限授予用户,同时还允许用户将权限授予其他用户,可以使用以下命令:

GRANT ALL ON example_database.* TO 'example_user'@'%' WITH GRANT OPTION;

该命令授予了用户example_userexample_database数据库中的所有对象的所有权限,并且还允许该用户将这些权限授予其他用户。%表示该用户可以从任何主机连接到MySQL服务器。

该命令中的WITH GRANT OPTION选项表示授予该用户将这些权限授予其他用户的权限。如果不想授予该用户此权限,请省略此选项。

要授予用户对数据库的只读权限,可以使用以下命令:

GRANT SELECT ON example_database TO 'example_user'@'%';

要仅授予用户对数据库中特定表的权限,可以使用以下命令:

GRANT SELECT ON example_database TO 'example_user'@'%';
GRANT INSERT ON example_database.example_table TO 'example_user'@'%';

授予用户example_userexample_database数据库中的特定表example_tableSELECTINSERT权限。

撤销权限

要撤销用户的权限,请使用revoke命令语法。例如,要撤销对特定数据库的所有权限,请使用以下命令:

REVOKE ALL ON example_database FROM 'example_user'@'%';

作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/mysql/how-to-modify-user-privileges-in-mysql/

(0)
牛奇网牛奇网
上一篇 2023年2月17日 下午12:47
下一篇 2023年2月17日 下午3:23

相关推荐

发表回复

登录后才能评论