前言:
服务器上的mysql的数据库端口一定是可以被访问的,如果服务器上有防火墙,需要允许该端口被访问,mysql的默认端口通常是3306。
如果不能被访问,会报如下错误:

正文:
一、拒绝访问(错误代码:1130)
1130-Host'192.168.5.100' is not allowed to connent to this MySQL server.
二、解决方案
2.1 查看Mysql 8.0 默认用户情况
mysql> select host,user from user; --查询用户及其对应的访问授权地址
+-----------+------------------+
| host | user |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
4 rows in set (0.00 sec)
2.2 设置访问权限
仅MYSQL 8.0 以上版本使用
-- 创建用户
CREATE USER 'root'@'%' IDENTIFIED BY 'rootpassword';
-- 授权
grant all privileges on *.* to 'root'@'%' ;
-- 刷新访问权限表
FLUSH PRIVILEGES;
'root'@'%':表示root用户从哪个IP地址过来,可以是指定的IP,也可以是指定的IP地址段。
'创建用户'和'授权代码'中的这两处'root'@'%'要保持一致。
'IDENTIFIED BY 'rootpassword''中的rootpassword是密码。
然后,就可以用你的navicat或其他工具进行测试啦!
当尝试远程访问MySQL服务器时,如果遇到1130错误,表示主机未经授权。解决方法包括检查防火墙设置,确保3306端口开放,并在MySQL中为用户添加远程访问权限。首先,查看MySQL用户表,然后使用SQL命令创建新用户并授权,例如创建一个名为'root'的全局访问用户,并设置密码。最后,刷新权限使更改生效。完成这些步骤后,应该能够通过Navicat等工具成功连接。
460

被折叠的 条评论
为什么被折叠?



