MySQL不能被其他地址访问,授权问题解决(8.x,,5.x)

首先强调的是两个版本,5版本和8版本问题反馈不一样

Linux系统部署mysql8.4版本

MySQL官网地址写的很清楚了,不多介绍

直接进入主题,恶心了我三个多小时的问题,翻阅大量国内外资料,结果并不是个多么难得问题,心态崩了

赶紧记录。。

mysql5.x版本授权

bash 复制代码
grant all privileges on *.* to testuser@"192.168.1.100" identified by "123456" ;  //设置用户testuser,只能在客户端IP为192.168.1.100上才能远程访问mysql ;
bash 复制代码
flush privileges;

再去连接就可以了

mysql8.x

bash 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
bash 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'your_remote_ip' WITH GRANT OPTION;

来看报错

bash 复制代码
mysql> grant all privileges on *.* to "root"@"%" identified by "Abc#12341" ;
ERROR 1064 (42000): 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 "Abc#12341"' at line 1
bash 复制代码
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
ERROR 1410 (42000): You are not allowed to create a user with GRANT

最后搜到的解决方式就是直接update user去更改,

据说是不允许通过root@'%',这种写法,

必须写host才可以

相关推荐
刘胡子大叔1 小时前
MySQL 升到 8.4 前的兼容性自检清单
mysql
IT古董2 小时前
《FDE前沿部署工程师实战教程》33 - Enterprise AI Observability:从Agent Trace到全链路智能运维
数据库·人工智能
for_ever_love__2 小时前
MySQL 主从复制讲透:binlog 原理、搭建步骤与读写分离
java·数据库·mysql·binlog·读写分离·原理·主从复制
Nturmoils6 小时前
GROUP BY 先别想当然,查汇总前把规则跑清楚
数据库
最笨的羊羊6 小时前
Oceanbase数据库系列之:向量数据库核心知识
数据库·oceanbase
fish_xk7 小时前
mysql中的表的约束
数据库·mysql
谢亮_vipxieliang7 小时前
Go Channel 高级模式——从底层原理到扇出扇入实战
java·数据库·golang
ggaofeng8 小时前
自己编写邮件服务器和客户端
数据库
java1234_小锋8 小时前
【技术专题】Mysql8 数据库 - Mysql8 添加,更新,删除数据
数据库·mysql
PaperData8 小时前
2015-2024年各省绿色贸易数据
数据库