mysql怎么改用户授权
时间 : 2023-03-08 03:26:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
首先,连接 MySQL 数据库:
```bash
mysql -u 用户名 -p
然后,输入密码并回车,登录到 MySQL。
查询当前已经存在的用户和权限:
```sql
SELECT User, Host, Password FROM mysql.user;
我们将修改已有用户的权限,假设现在要将用户名为 `user1` 的用户权限修改为:
- 只拥有 `database1` 数据库的 `SELECT` 权限;
- 拥有 `database2` 数据库的所有权限;
- 对其他数据库没有访问权限。
下面分别介绍修改操作:
### 修改 SELECT 权限
```sql
GRANT SELECT ON database1.* TO 'user1'@'localhost';
FLUSH PRIVILEGES;
上述语句将 `SELECT` 权限授予 `user1` 用户,该用户只能在 `database1` 数据库中进行 `SELECT` 操作。
### 授予所有权限
首先,需要创建一个新的用户并授予所有权限:
```sql
CREATE USER 'user2'@'localhost' IDENTIFIED BY 'password2';
GRANT ALL PRIVILEGES ON database2.* TO 'user2'@'localhost';
上述语句创建了一个用户名为 `user2` 的用户,并给他授予了 `database2` 数据库上的所有权限。
然后,将 `user1` 用户权限进行替换:
```sql
REVOKE ALL PRIVILEGES ON *.* FROM 'user1'@'localhost';
GRANT USAGE ON *.* TO 'user1'@'localhost';
GRANT SELECT ON database1.* TO 'user1'@'localhost';
GRANT ALL PRIVILEGES ON database2.* TO 'user1'@'localhost';
FLUSH PRIVILEGES;
上述语句将 `user1` 用户权限取消,并重新授权,只拥有 `SELECT` 权限的 `database1` 数据库和拥有所有权限的 `database2` 数据库。
### 同时授予和取消权限
可以使用 `GRANT` 和 `REVOKE` 命令来同时授予和取消权限:
```sql
GRANT SELECT ON database1.* TO 'user1'@'localhost';
REVOKE INSERT, UPDATE ON database1.* FROM 'user1'@'localhost';
GRANT ALL PRIVILEGES ON database2.* TO 'user1'@'localhost';
FLUSH PRIVILEGES;
上述语句将 `user1` 用户的 `INSERT` 和 `UPDATE` 权限取消,同时授予 `ALL PRIVILEGES` 权限于 `database2` 数据库。
最后,退出 MySQL:
```sql
EXIT;
以上就是修改 MySQL 用户权限的几种方法,根据实际需求选择不同的用法。
上一篇
mysql怎么改表中
下一篇
怎么做mysql性能监控
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章