欢迎光临散文网 会员登陆 & 注册

【入门篇】2.3 MySQL创建用户、赋予权限

2023-07-07 23:18 作者:数据库进阶  | 我要投稿

MySQL创建用户、赋予权限

目录

1 MySQL创建用户

2 授权

3 常见用户分类

1 MySQL创建用户

在MySQL中,创建用户可以通过CREATE USER语句来完成。以下是创建用户的基本语法:


CREATE USER 'username'@'host' IDENTIFIED BY 'password';

其中,username是要创建的用户名,host是允许连接的主机,password是该用户的密码。

具体示例:

1.创建一个名为user1,密码为password1的用户,允许从任何主机连接:


CREATE USER 'user1'@'%' IDENTIFIED BY 'password1';

2.创建一个名为user2,密码为password2的用户,只允许从本地主机连接:


CREATE USER 'user2'@'localhost' IDENTIFIED BY 'password2';

3.创建一个名为user3,密码为password3的用户,只允许从特定主机(例如192.168.0.100)连接:


CREATE USER 'user3'@'192.168.0.100' IDENTIFIED BY 'password3';

需要注意的是,创建用户和授予权限的操作通常需要具有特定权限的用户来执行,如CREATE USERGRANT权限。对于生产环境中的数据库,应该谨慎管理用户和权限,以确保数据库的安全性和完整性。

2 授权

MySQL提供了多种权限,用于控制用户对数据库和表的访问和操作。以下是MySQL中常用的权限和授权语句,以及相应的示例说明:

1.ALL PRIVILEGES:拥有所有权限,包括SELECT、INSERT、UPDATE、DELETE、CREATE、DROP等。

示例:


GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host' with grant option;

2.SELECT:允许用户查询表中的数据。

示例:


GRANT SELECT ON database_name.table_name TO 'username'@'host';

3.INSERT:允许用户向表中插入数据。

示例:


GRANT INSERT ON database_name.table_name TO 'username'@'host';

4.UPDATE:允许用户更新表中的数据。

示例:


GRANT UPDATE ON database_name.table_name TO 'username'@'host';

5.DELETE:允许用户删除表中的数据。

示例:


GRANT DELETE ON database_name.table_name TO 'username'@'host';

6.CREATE:允许用户创建新的数据库或表。

示例:


GRANT CREATE ON database_name.* TO 'username'@'host';

7.DROP:允许用户删除数据库或表。

示例:


GRANT DROP ON database_name.* TO 'username'@'host';

8.GRANT OPTION:允许用户授予或撤销其他用户的权限。

示例:


GRANT GRANT OPTION ON database_name.* TO 'username'@'host';

以上示例中,database_name表示数据库名,table_name表示表名,username表示要授权的用户名,host表示允许连接的主机。通过使用GRANT语句,可以为用户授权具体的权限,以满足其在数据库中的操作需求。

3 常见用户分类

在MySQL数据库中,常见的几类用户及其对应的权限包括:

1.Root用户以及其他超级用户: Root用户是拥有所有权限的最高权限用户,可以执行所有操作,包括创建和管理其他用户。一般建议将Root用户作为保留用户,再另建一个超级用户如dba。超级用户通常只在管理和维护数据库时使用,而不应该在生产环境中广泛使用。

2.程序用户: 程序用户是公司应用程序所使用的用户。他们通常需要执行增删改查,而不具备对数据库的整体管理权限。程序用户需要具备以下权限之一或多个权限的组合:

  • SELECT:允许用户查询(读取)数据库中的数据。
  • INSERT:允许用户向数据库中插入新的数据。
  • UPDATE:允许用户更新数据库中的数据。
  • DELETE:允许用户删除数据库中的数据。

3.个人用户: 一般个人用户会提供只读访问权限,用于查看数据与排查故障,不允许用户修改数据库中的数据。个人用户只需要具备SELECT权限。

在为公司内的用户赋予MySQL数据库权限时,需要根据用户的角色和需要执行的操作来确定所需的权限级别。通常情况下,为了保证数据库的安全性,应尽量遵循最小权限原则,即为用户授予其正常工作所需的最低权限,以减少潜在的安全风险。

【入门篇】2.3 MySQL创建用户、赋予权限的评论 (共 条)

分享到微博请遵守国家法律