mysql笔记(一):Navicat for MySQL远程连接mysql服务报错的解决方法(1130、2509)

本文介绍了如何解决MySQL中的两个常见错误:错误1130(不允许主机连接到服务器)及错误2509(与加密方式有关的问题)。针对错误1130,可以通过修改MySQL的user表中的host值为通配符 '%' 来解决。而错误2509则需要将MySQL 8.0及更高版本中的默认加密方式从caching_sha2_password更改为mysql_native_password。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一个报错:

错误代码是1130,ERROR 1130: Host X.X.X.X is not allowed to connect to this MySQL server

解决方法:

在服务器登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。

下面是用SQL语句解决问题:

1.使用root登录

使用命令 mysql -u root -p   

8.0以后版本可在开始菜单中的工具里登录:

2.选择mysql库

use mysql;

3.查看mysql库中的user表的host值

select 'host' from user where user='root'; 

4.修改host值

update user set host = '%' where user ='root';  

5.刷新MySQL的系统权限相关表

flush privileges; 

最后重启下mysql服务。

第二个报错:

mysql 2509 加密方式导致的报错

解决方法:更改加密方式

mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password


use mysql; #选择数据库

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;  #更改加密方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; #更新用户密码

FLUSH PRIVILEGES; #刷新权限

注意:如果已经按照上文中把host 改成了%,那么更改加密方式应改为:

ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;  #更改加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码'; #更新用户密码

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值