mysql 5.7 删除授权_MySQL5.7 添加用户,删除用户与授权

今天在开始一个新项目的时候遇到了一个问题, 原有的服务器上有很多数据库而这个新的项目有许多新人加入,对开发不是很熟悉,所以为了防止旧的数据库出现问题,就准备新建用户和数据库让这个新的用户只能访问新建的数据库,不能访问其它的数据库.

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

1.新建用户

1.1 登录MYSQL(登陆的账户必须是拥有最高权限的账户):

@>mysql -u root -p

@>密码

1.2 创建用户:

CREATE USER 'guest2'@'%' IDENTIFIED BY '123456';

新建一个用户名为guest2的用户,密码为123456,%表示可以远程连接数据库

tips:

982848df5424

密码设置错误

【原因】

原来MySQL5.6.6版本之后增加了密码强度验证插件validate_password,相关参数设置的较为严格。

使用了该插件会检查设置的密码是否符合当前设置的强度规则,若不满足则拒绝设置。影响的语句和函数有:create user,grant,set password,password(),old password。所以可以将密码设置为“字母 + 数字”的形式。

982848df5424

修改后创建成功。

1.3 然后登录一下:

mysql>exit;

@>mysql -u test -p

@>输入密码

mysql>登录成功

2.为用户授权

授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";

2.1 登录MYSQL(有ROOT权限),这里以ROOT身份登录:

@>mysql -u root -p

@>密码

2.2 首先为用户创建一个数据库(testDB):

mysql>create database testDB;

2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限,本次我们使用的就是这个):

mysql>GRANT ALL PRIVILEGES ON testDB.* TO 'guest2'@'%' IDENTIFIED BY 'guest123456' WITH GRANT OPTION;

mysql>flush privileges;//刷新系统权限表

格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";

982848df5424

2.4 如果想指定部分权限给一用户,可以这样来写:

mysql>grant select,update on testDB.* to guest2@localhost identified by 'guest123456';

mysql>flush privileges; //刷新系统权限表

2.5 授权test用户拥有所有数据库的某些权限:

mysql>grant select,delete,update,create,drop on *.* to guest2@"%" identified by "guest123456";

//test用户对所有数据库都有select,delete,update,create,drop 权限。

//@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)

//对localhost授权:加上一句grant all privileges on testDB.* to guest2@localhost identified by 'guest123456';即可。

3. 删除用户(需要登陆最高权限的账号)

DROP USER 'a'@'%';

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值