mysql8怎么授权用户
时间 : 2023-03-15 14:30:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在 MySQL8 中,可以通过 GRANT 命令来授予用户不同的权限。GRANT 命令的基本语法如下:

GRANT privileges ON database.table TO 'user'@'host' IDENTIFIED BY 'password';

其中,privileges 指需要授予的权限,可以是以下任一选项:

- ALL PRIVILEGES:表示所有权限。

- SELECT:表示查询权限。

- INSERT:表示插入权限。

- UPDATE:表示更新权限。

- DELETE:表示删除权限。

- CREATE:表示创建权限。

- DROP:表示删除表权限。

- GRANT OPTION:表示授权其他用户的权限。

database.table 指需要授权的数据库和表,可以使用通配符 * 来表示全部数据库或者表。

'user'@'host' 表示用户和主机名,可以使用 % 来表示所有主机。IDENTIFIED BY 'password' 指用户对应的密码,如果没有指定,则为空。

以下是几个常用的授权命令示例:

1. 授权 user1 用户在本地访问 test 数据库,并拥有全部权限:

```sql

GRANT ALL PRIVILEGES ON test.* TO 'user1'@'localhost' IDENTIFIED BY 'password';

2. 授权 user2 用户远程访问 test 数据库,并拥有 SELECT 和 INSERT 权限:

```sql

GRANT SELECT, INSERT ON test.* TO 'user2'@'%' IDENTIFIED BY 'password';

3. 撤销 user3 用户在本地 test 数据库的所有权限:

```sql

REVOKE ALL PRIVILEGES ON test.* FROM 'user3'@'localhost';

4. 查看用户的权限:

```sql

SHOW GRANTS FOR 'user4'@'localhost';

需要注意的是,授权命令只能由有足够权限的用户执行。在 MySQL 中,有五种权限等级,从高到低分别为:SUPER、PROCESS、RELOAD、SHUTDOWN 和 USAGE。

可以使用以下语句查看当前用户的权限等级:

```sql

SHOW GRANTS FOR CURRENT_USER();

这样,就可以根据需要为用户授权不同的权限。

在MySQL8中,授权用户的方式与之前的版本略有不同。下面是一些授权用户的常见用法:

## 1. 创建新用户

要创建新用户,我们可以使用以下语法:

```mysql

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

这将创建一个名为“username”的用户,只能从本地主机登录,并使用“password”作为密码。

## 2. 授权用户

要授予用户某些权限,可以使用以下语法:

```mysql

GRANT privilege_type ON database_name.table_name TO 'username'@'localhost';

例如,要授予用户“username”对数据库“mydatabase”的全部权限,可以使用以下语法:

```mysql

GRANT ALL PRIVILEGES ON mydatabase.* TO 'username'@'localhost';

## 3. 撤销权限

要撤销用户的某些权限,可以使用以下语法:

```mysql

REVOKE privilege_type ON database_name.table_name FROM 'username'@'localhost';

例如,要撤销用户“username”对数据库“mydatabase”的全部权限,可以使用以下语法:

```mysql

REVOKE ALL PRIVILEGES ON mydatabase.* FROM 'username'@'localhost';

## 4. 查看用户权限

要查看某个用户的权限,可以使用以下语法:

```mysql

SHOW GRANTS FOR 'username'@'localhost';

这将列出用户“username”在本地主机上所拥有的权限。

总结

在MySQL8中,授权用户的方式与之前的版本略有不同。您可以使用CREATE USER创建新用户,并使用GRANT和REVOKE授予或撤销他们的权限。要查看某个用户的权限,请使用SHOW GRANTS。注意,当您更改了用户的权限之后,需要使用FLUSH PRIVILEGES来使更改生效。