您的当前位置:首页正文

如何在MySQL中创建用户和授予权限

2020-11-09 来源:尚佳旅游分享网
如何创建MySQL用户并授予权限?为了实现良好的安全性,需要为每个应用程序创建单独的用户帐户,而不是root用户访问数据库。这将确保应用程序无法访问其他应用程序的数据库。因此需要mysql管理员(root)权限来创建用户帐户并为数据库分配权限。

mySQL

对于信息,MySQL root帐户与系统root帐户不同,它们之间没有任何关系。(相关推荐:MySQL教程)

1、在MySQL中创建新用户

使用具有shell访问权限的root用户登录MySQL服务器并创建名为“rahul”的新用户。下面的命令只允许从localhost系统访问用户rahul的MySQL服务器。

mysql> CREATE USER 'rahul'@'localhost' IDENTIFIED BY 'password';

现在将权限分配给特定数据库。下面的命令将允许用户rahul拥有数据库“mydb”的所有权限。

mysql> GRANT ALL ON mydb.* TO 'rahul'@'localhost';

创建用户并分配适当的权限后,请确保重新加载权限。

mysql> FLUSH PRIVILEGES;

2.创建可远程访问的MySQL用户

允许任何用户从远程系统连接MySQL服务器。您需要指定远程系统的主机名或IP地址。还可以使用%来允许任何主机

mysql> CREATE USER 'rahul'@'123.45.67.89' IDENTIFIED BY 'password';
mysql> CREATE USER 'rahul'@'%' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

3、在MySQL中授予特定用户权限

下面是MySQL用户常用权限列表。访问此处以获取MySQL用户的完整权限列表。

ALL [PRIVILEGES] -授予用户所有权限。

CREATE -授予用户创建新数据库和表的权限。

DROP -授予用户删除(drop)数据库和表的权限。

DELETE -授予用户删除表中的行的权限。

ALTER -授予用户修改表结构的权限。

INSERT -授予用户在表中插入(add)行的权限。

SELECT -授予用户运行select命令以从表中读取数据的权限。

UPDATE -授予用户更新表中的数据的权限。

EXECUTE -授予用户执行存储的例程的权限。

FILE -授予用户访问服务器主机上的文件的权限。

GRANT OPTION -授予用户授予或删除其他用户权限的权限。

在这里,可以指定用逗号分隔的权限来代替所有权限。例如,允许对数据库mydb上的'rahul'@'localhost'进行CREATE,DELETE,INSERT,UPDATE访问。

mysql> GRANT CREATE,DELETE,INSERT,UPDATE ON mydb.* TO 'rahul'@'localhost';
mysql> FLUSH PRIVILEGES;

4、撤消MySQL中的用户权限

使用REVOKE命令从用户中删除任何特定权限。例如,从mydb数据库上的用户'rahul'@'localhost'中删除DELETE权限。

mysql> REVOKE DELETE ON mydb.* TO 'rahul'@'localhost';
mysql> FLUSH PRIVILEGES;

5、在MySQL中删除用户

您可以使用DROP命令从MySQL中删除任何用户。例如,要删除用户'rahul'@'localhost',可以使用以下命令。

mysql> DROP USER 'rahul'@'localhost';
mysql> FLUSH PRIVILEGES;
显示全文