从MySQL 8开始,您不再可以(隐式)使用GRANT命令创建用户.请改用CREATE USER,然后使用GRANT 声明:
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION
mysql> flush privileges;
但是个人觉得这样很麻烦 而且不好记忆 , 所以推荐使用下面的方法
mysql> use mysql;
mysql> update user set Host='%' where User='root' and Host='localhost';
mysql> flush privileges;
这样直接修改 MYSQL 内置的 权限表就行了