为user2赋予对数据库bms所有表的INSERT、UPDATE、SELECT权限
时间: 2023-12-23 17:05:28 浏览: 30
可以使用以下 SQL 语句为 `user2` 赋予对数据库 `bms` 所有表的 `INSERT`、`UPDATE`、`SELECT` 权限:
```sql
GRANT INSERT, UPDATE, SELECT ON bms.* TO 'user2'@'localhost';
```
其中,`INSERT`、`UPDATE`、`SELECT` 是要授予的权限关键字,`bms.*` 表示要授予权限的数据库和表名称,`user2` 是要被授权的账户名,`localhost` 是该账户的登录来源。
如果想要将该账户的登录来源扩展到任何主机,可以将 `localhost` 改为 `%`:
```sql
GRANT INSERT, UPDATE, SELECT ON bms.* TO 'user2'@'%';
```
这样,`user2` 账户就可以从任何主机访问 `bms` 数据库,并拥有对该数据库中所有表的 `INSERT`、`UPDATE`、`SELECT` 权限。
相关问题
运用数据库bms,里面有表book,record,user /*1.使用root用户创建本机用户test1,初始密码设置为123。让该用户对所有数据库拥有select、create、drop权限,并允许其可将自身的权限授予其他用户。*/ /*2.继续创建本机用户test2,test3,密码均为123。*/ /*3.用test1用户登录,为test2用户设置create和drop权限*/ /*4.用test2用户登录,验证其拥有create和drop权限。比如创建数据库abc,删除数据库abc。*/ /*5.用test1用户登录,为test3设置对bms数据库的book表的图书名称和价格字段拥有查询权限。*/ /*6.用show grants语句查看test3用户的权限。*/ /*7.撤销test3用户的所有权限。*/ /*8.授予test3对数据库bms中所有表执行插入、修改和查询操作的权限。*/ /*9.删除test1、test2、test3用户。*/
以下是对应的SQL语句:
1. 使用root用户创建本机用户test1,初始密码设置为123。让该用户对所有数据库拥有select、create、drop权限,并允许其可将自身的权限授予其他用户。
```
CREATE USER 'test1'@'localhost' IDENTIFIED BY '123';
GRANT SELECT, CREATE, DROP ON *.* TO 'test1'@'localhost' WITH GRANT OPTION;
```
2. 继续创建本机用户test2,test3,密码均为123。
```
CREATE USER 'test2'@'localhost' IDENTIFIED BY '123';
CREATE USER 'test3'@'localhost' IDENTIFIED BY '123';
```
3. 用test1用户登录,为test2用户设置create和drop权限
```
GRANT CREATE, DROP ON *.* TO 'test2'@'localhost';
```
4. 用test2用户登录,验证其拥有create和drop权限。比如创建数据库abc,删除数据库abc。
```
CREATE DATABASE abc;
DROP DATABASE abc;
```
5. 用test1用户登录,为test3设置对bms数据库的book表的图书名称和价格字段拥有查询权限。
```
GRANT SELECT (book_name, price) ON bms.book TO 'test3'@'localhost';
```
6. 用show grants语句查看test3用户的权限。
```
SHOW GRANTS FOR 'test3'@'localhost';
```
7. 撤销test3用户的所有权限。
```
REVOKE ALL PRIVILEGES ON *.* FROM 'test3'@'localhost';
```
8. 授予test3对数据库bms中所有表执行插入、修改和查询操作的权限。
```
GRANT SELECT, INSERT, UPDATE ON bms.* TO 'test3'@'localhost';
```
9. 删除test1、test2、test3用户。
```
DROP USER 'test1'@'localhost';
DROP USER 'test2'@'localhost';
DROP USER 'test3'@'localhost';
```
使用mysqldump语句将bms数据库中的所有数据备份到D盘backup文件夹下
可以使用以下命令将 `bms` 数据库中的所有数据备份到 D 盘的 backup 文件夹下:
```
mysqldump -u 用户名 -p bms > D:\backup\bms.sql
```
其中,`用户名` 是连接 MySQL 数据库时使用的用户名,`bms` 是要备份的数据库名,`D:\backup\bms.sql` 是备份数据要保存的路径和文件名。在执行命令后,需要输入密码才能完成备份。