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

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 USER
和GRANT
权限。对于生产环境中的数据库,应该谨慎管理用户和权限,以确保数据库的安全性和完整性。
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数据库权限时,需要根据用户的角色和需要执行的操作来确定所需的权限级别。通常情况下,为了保证数据库的安全性,应尽量遵循最小权限原则,即为用户授予其正常工作所需的最低权限,以减少潜在的安全风险。