用户权限+数据库语言

### **一:用户管理**

####      **1:登录:**

​             `mysql -u用户 -h主机信息 -p端口 -p密码;`

####      **2:查看所有用户信息**

​             所有用户:`select user,host from mysql.user;`

​             当前用户:`select user();`

####      **3:创建用户**

​              `create user 用户名@主机名  identified by密码;`

​        **%:**任意主机使用当前用户可以连接当前数据库服务

​        **192.168.4.%:**表示192.168.4下面的所有主机都可以连接当前的数据库服务

####       **4:删除**

​              `drop user 用户名@主机信息`

####      **5:退出登录**

​              `quit   exit`

####       **6:查看用户所拥有的权限【privileges】**

​              1)查看自己的权限

​                        `show grants;`

​                    *新用户所拥有的权限:usage*

​               2)管理员或拥有查看别人权限的用户查看其他用户的权限

​                         `show grants for 用户名@主机信息;`

####        7:查看mysql中所有的权限(管理员或拥有查看权限的用户)

​                    `show privileges;`

####        **8:权限关系**

| **操作的权限命名** | **数据库表中实际管理权限的命名** |
| ------------------ | -------------------------------- |
| `select`           | `select_priv`                    |
| `create user`      | `create_user_priv`               |

####           9:常见的权限

​                      **数据操作**

​                              insert

​                              select

​                              update

​                              delete

​                       **表格数据库用户结构操作**

​                              create

​                                     create user

​                                     create database

​                                     create table

​                                     create view

​                             drop删除

​                             alter修改

​                             show显示

####           **10:给用户赋予权限【grant】**

​                          **语法:**

​                             `grant 权限1,权限2…… on 数据库.表名 to 用户名@主机名或IP地址【with grant option】`

​                           **解释说明:**

​                   **权限列表:**可以同时给用户赋予多个权限,使用逗号分割

​                   **数据库.表名:**可以指定哪些数据库或者表可以对当前用户有对应权限操作,所有数据库所有的表都可以操作。

​                   **用户名@主机**

​                  **【with grant option】**:允许被赋予权限的用户给其他用户赋权

​                       权限最初的拥有者是root管理员,如果管理员赋予权限的时候没有指定with grant option,那么是不允许用户给其他用户赋权

​              ***注意:***

-   mysql数据中,权限给定不是绝对的,例如:如果给了create user,同时也会开启alter user drop user*
-  *一般使用数据的时候都是不适用默认用户去操作数据,都是创建新的用户按需操作*
-  出现【Access denied for user】报错是因为该用户没有权限

#### **11:收回权限的语法**

​        **收回某一个的语法:**

​               `revoke 权限列表 on 数据库.表名 from 用户名@主机名或IP地址`

​        **收回所有权限和权限下发的语法:**

​                `revoke grant option from 用户@主机名`

​                `revoke all on *.* from 用户@主机名`

#### **12:修改用户的密码**

​       1)自己修改自己的密码:

​              `set password=password(“新密码”);`

​       2)管理员修改其他用户密码:

​              `set password for 用户名@主机名=password(“新密码”);`

​       3)既可以修改自己的密码也可以修改别人的密码:

​             `update 用户名 set password=password(“新密码”)where user=‘用户名’and host=‘主机名或IP`

​        4)没有登录修改密码

​              `mysqladmin -u用户名 -p旧密码 password 新密码`

#### **13:密码管理**

​        **语法:**

​       `alter user 用户名@’localhost‘ password expire `;强制过期

​       `     alter user 用户名@’localhost‘ password expire never; `不过期

​       `alter user 用户名@’localhost‘ password expire default;`默认策略

​       `alter user 用户名@’localhost‘ password expire interval 数值 DAY; `多少天后过期

#### **14:刷新权限操作**

​         `flush privileges`刷新权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值