MySQL8.0创建远程登入账号和设置权限和回收权限

1.创建远程登入账号

create user '用户名'@'来源地' identified by '密码';

其中来源地:

  • 可以为'localhost'或'127.0.0.1'表示只能在本机登入';
  • '%'表示可以在任何地方登入;
  • '192.*.*.*'表示某一个网段可以登入

2.授予用户权限

grant all privileges on *.* to '用户名'@'来源地';

flush privileges; 

with grant option  -- 表示允许这个用户给其他用户授权
grant all privileges on  *.*  to '用户名'@'来源地' with grant option;
flush privileges; 
  
-- all privileges 是授予所有权限
-- *.* 表示所有库所有表,亦可以指定库或表授予权限(demo.student 表示给demo库的student表授予权限)
-- flush privileges 表示刷新权限

3.权限的收回

收回授予的权限:

revoke all privileges on *.* from '用户名'@'来源地'

all表示从用户中收回所有授予的权限,此外用户也可以指定某部分权限 如 update、insert、delete权限等

 4.远程登入

mysql -u用户名 -p密码 -P端口号 -h ip地址

其它详细说明

GRANT 权限列表 ON 数据库.表 TO 用户账号 @ 用户ip IDENTIFIED BY 用户密码 授权命令;

权限列表:允许用户执行的操作权限。

包含select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file 逗号隔开

数据库.表: 开放的数据库或数据库下属的表  
如*.* 为开放所有表 mysql.* 为mysql数据库下属所有的表 mysql.user 只开放mysql的user表

用户账号: 即远程访问登录的用户名。

用户ip: 允许远程用户通过什么ip来访问。

如 '%' 代表所有ip都能访问 'localhost' 本机能访问 '192.168.0.1' ip为192。168.0.1的请求可以访问。

用户密码: 即远程用户的访问密码。

授权命令:

WITH GRANT OPTION
     被授权用户可将所获得的权限再次授予其它用户或角色,并且权限的取消是级联的。
     授权级联一并回收,管理员不可以显式回收其创建用户的权限.

WITH ADMIN OPTION

    被授权用户可将所获得的权限再次授予其它用户或角色,并且权限的取消是不级联的。
    授权独立,管理员可以显式回收其创建用户的权限.

 
原文地址:https://www.cnblogs.com/Liu928011/p/14746346.html