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