mysql5.7开启用户库权限_mysql:MySQL数据库修改用户权限(远程访问权限、操作权限)...

有时候我们需要远程操作数据库,但是MySQL-Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问。

所以,我们必须先

修改root可以远程访问的权限

1.通过cmd连接进入数据库

命令输入:mysql -u root -p

输入密码登录数据库

953b756237af5dbaec4f73d24245ea30.png

命令输入:use mysql;

407a27a9dcddaa233958752dfdbc51ca.png

2.通过查询用户表,查看已有用户访问权限

命令:select User,authentication_string,Host from user;

580a44d5fa670b88937961ee46a133f1.png

这里我们看出host默认都是localhost访问权限

3.重点:修改用户远程访问权限

(1)修改为允许所有root用户远程访问

命令输入:GRANT ALL PRIVILEGES ON * . * TO ‘root’@’%’ IDENTIFIED BY ‘123456’ ;

这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址(将’%‘改为’你的主机IP’)

(2)刷新数据库

命令输入:flush privileges;

这句表示从mysql数据库的grant表中重新加载权限数据

因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

0bf63fe41f3473b7ce9b42c57465ae2b.png

执行完这两步,再次查询用户表命令:select User,authentication_string,Host from user

我们可以发现多了一个root用户,该用户所有的主机都可以访问,此时再次用sqlyog访问连接成功!

查询mysql中所有用户权限

输入命令: select host,user from user;

ffb5af313eb1ca9a560a7ab0b4f17032.png

关闭root用户远程访问权限

输入命令:delete from user where user=“root” and host="%" ;

禁止root用户在远程机器上访问mysql

输入命令:flush privileges;

修改权限之后,刷新MySQL相关表生效,发现root没有了远程访问的权限

现在通过远程连接发现无法访问

修改远程操作权限(部分权限)

设置root用户操作权限

>> grant all privileges on . to root@localhost identified by “123456” WITH GRANT OPTION ; //设置用户root,拥有所有的操作权限,也就是管理员 ;

>> grant select on . to root@localhost identified by “123456” WITH GRANT OPTION ; //设置用户root,只拥有【查询】操作权限 ;

>> grant select,insert on . to root@localhost identified by “123456” ;  //设置用户root,只拥有【查询\插入】操作权限 ;

>> grant select,insert,update,delete on . to root@localhost identified by “123456” ;  //设置用户root,只拥有【查询\插入\更新\删除】操作权限 ;

>> REVOKE select,insert ON what FROM root  //取消用户root的【查询\插入】操作权限 ;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值