问题的出现:在命令行输入:GRANT ALL PRIVILEGES ON * . * TO ‘root’@’%’ IDENTIFIED BY ‘123456’ ;时出现以下报错
报错:1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘IDENTIFIED BY ‘123456’’ at line 1。****
问题的原因是:8.0版本的mysql 的远程访问设置不能直接 通过该命令来实现权限更改
权限设置里面不能有 IDENTIFIED BY ‘password’;这个语句
需要添加新的用户设置密码 然后在给远程访问权限
步骤一:
create user ‘xw’@’%’ identified by ‘123123’;
这里是在创建新的管理用户的时候设置好了密码 其中‘%’是表示所有主机都可以远程访问
如果是‘localhost’ 就表示只能本地访问mysql数据库 我们这里直接设置为‘%’
步骤二:
GRANT ALL PRIVILEGES ON . TO ‘xw’@’%’ WITH GRANT OPTION;
这个命令是允许所有主机能够访问数据库里面的数据
弄完之后一定要刷新一下
FLUSH PRIVILEGES;
此时 你再去执行
use mysql
select User,authentication_string,Host from user;
这里就可以看到多了个 xw 用户 后面显示% 说明所有主机都能访问。
来源:CSDN
作者:拼命学代码的小谢
链接:https://blog.csdn.net/weixin_44151070/article/details/103922327