MySQL8.0创建新用户并授权

你遇到的问题

在这里插入图片描述
在这里插入图片描述

原因

MySQL8.0创建新用户并授权_第1张图片
host表示可以登录的ip, 这里root用户是localhost表示只能本地登录,不能远程登录, 想要远程登录的话需要执行:
update user set host =‘%’ where user =‘root’;
MySQL8.0创建新用户并授权_第2张图片

grant_priv表示是否具有赋权的能力, 默认只有root用户有, 如果你登录的是zhushanglin用户, 它并没有赋权的能力, 你用该用户创建新用户canal并想让canal有赋权的能力是不行的, 因为zhushanglin这个用户本来就没有赋权的能力, 他创建的用户canal怎么能有赋权的能力呢(这里就会报各种错误, 这里有一个原则:被创建的用户的host和grant_priv范围不能超过当前用户)], 所以你要切换成root用户,来创建canal用户并赋权

创建新用户canal并赋予所有权限

  1. 切换成root用户
  2. select user,host,grant_priv from user;
    查看host是不是%, grant_priv是不是Y, 如果不是,使用update user set host =‘%’ where user =‘root’;修改
  3. flush privileges; 刷新权限
  4. create user ‘canal’@‘%’ identified by ‘ZSL1992@!@#zsl’; 创建用户
    在这里插入图片描述
  5. grant all privileges on . to ‘canal’@‘%’; 赋权
    在这里插入图片描述
  6. flush privileges; 刷新权限

你可能感兴趣的:(Mysql,mysql)