#通过cmd连接进入数据库命令输入:mysql -u root -p输入密码登录数据库命令输入:use mysql;
#通过查询用户表,查看已有用户访问权限
select User,authentication_string,Host from user;
#重点:修改用户远程访问权限
#(1)修改为允许所有root用户远程访问命令输入:
GRANT ALL PRIVILEGES ON * . * TO ‘root’@’%’ IDENTIFIED BY ‘123456’ ; #这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址(将’%‘改为’你的主机IP’)
#(2)刷新数据库命令输入:
flush privileges;#这句表示从mysql数据库的grant表中重新加载权限数据因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
#执行完这两步,再次查询用户表命令:
select User,authentication_string,Host from user
#查询mysql中所有用户权限
#输入命令:
select host,user from user;
#关闭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的【查询\插入】操作权限 ;