mysql5.7.17 新建用户_MySQL5.7用户创建及权限管理

## 一 用户、权限管理

### 1.1 用户

**作用:** 登录,管理数据库逻辑对象

**定义:** 用户名@'主机值'

主机值可以是主机名或IP地址,主机值中允许使用通配符

```

root@'10.0.0.%'

root@'%'

root@'10.0.0.51'

root@'localhost'

root@'db02' # 主机名不能是数字开头

root@'10.0.0.5%'

root@'10.0.0.0/255.255.0.0' # 10.0 B类网络上任何主机

```

### 1.2 用户管理操作

```

增:

mysql> create user dev@'10.0.0.%' identified by '123';

查:

mysql> desc mysql.user; ----> mysql5.7 开始新版的mysql数据库下的user表中已经没有password字段了保存密码的字段变成了authentication_string字段

mysql> select user, host, authentication_string from mysql.user;

改:

mysql> alter user dev@'10.0.0.%' identified by '456';

删:

mysql> drop user dev@'10.0.0.%';

```

### 1.3 权限管理操作

```

grant '权限' on '作用域' to '用户';

mysql> grant all on *.* to 'test'@'%';

Query OK, 0 rows affected (0.00 sec)

```

**所有权限:**

[https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html](https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html)

**常用权限介绍:**

```

select:可以从数据库中的表中查询数据

insert:可以插入数据到数据库的表中

update:可以对数据库中的表进行更新数据

delete:可以从数据库中的表中删除数据

alter:可以使用 alter table 来改变表的结构

create:可以创建新的数据库或表的语句

drop:能够删除现有数据库,表和视图

grant option:可以向其它用户授予或移除权限

index:可以创建和删除索引

all或all privileges:代表指定权限等级的所有权限

```

**作用域:**

```

*.* ---->代表所有数据库的权限

school.* ----> school 数据库下所有表

school.t1 ----> school 数据库下 t1 表

```

**示例:**

```

创建一个普通管理员账号,具有所有库的所有权限

mysql> grant all on *.* to root@'10.0.0.%' identified by '123';

创建一个管理员账号,并能给其它账号授权

grant all on *.* to root@'10.0.0.%' identified by '123' with grant option;

创建一个程序用户,具备 app 库下增删查改权限

mysql> grant select, update, insert, delete on app.* to app@'10.0.0.%' identified by '123';

```

### 1.4 查看权限

```

mysql> show grants for app@'10.0.0.%';

```

### 1.5 回收权限

```

mysql> revoke delete on wordpress.* from app@'10.0.0.%';

```

### 1.6 提示

##### 1.6.1 和用户相关操作,执行完后都需要刷新权限

```

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

```

##### 1.6.2 **mysql8.0在grant命令添加特性:**

- 建用户和授权分开了

- grant 不再支持自动创建用户了,不支持改密码

- 授权之前,必须要提前创建用户。

**示例:**

```

mysql> create user 'test'@'%' identified by '123news';

Query OK, 0 rows affected (0.00 sec)

mysql> grant select, insert on *.* to 'test'@'%';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

```

### 1.7 忘记本地root管理员密码

- --skip-grant-tables #跳过授权表

- --skip-networking #跳过远程登录,防止外面人连进来

- --defaults-file #指定启动配置文件位置

```

[root@db01 ~]# systemctl stop mysqld3307.service

[root@db01 ~]# mysqld_safe --defaults-file=/data/3307/my.cnf --skip-grant-tables --skip-networking &

mysql> flush privileges; #加载权限表

mysql> alter user root@'localhost' identified by '123456';

mysql> exit

Bye

[root@db01 ~]# pkill mysqld

[root@db01 ~]# systemctl start mysqld3307

```

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69982604/viewspace-2722684/,如需转载,请注明出处,否则将追究法律责任。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值