MySql连接错误:Can‘t get hostname for your address解决办法之小白篇

1 篇文章 0 订阅
1 篇文章 0 订阅

MySql连接错误:Can't get hostname for your address

1.确定服务是否开启

首先进入计算机管理,打卡服务,确定MySQL服务状态是否为正在运行,如若关闭,即手动打开。


2.重新配置winsock文件

服务是开启的,报错依旧不变,打开CMD,运行netsh winsock reset,重修配置winsock文件,重启电脑。

无意外的话,就能连接上数据库了。如若不能,继续下一步。


3.修改Hosts

在 MySql Server 所在服务器上,修改 Windows 的 hosts 文件,增加一行记录,如:

100.ZZZ.YYY.XXX dummy.ju690.cn

然后在 100.ZZZ.YYY.XXX 机器上用 Python 发起连接请求,经测试,可以正常连接,说明 MySql Server 这下可以通过 getnameinfo() 解析出100.ZZZ.YYY.XXX 的主机名了。

但这种方法很机械

注:修改Hosts的方法,因为现有水平局限,不懂起原理,所以不多加解释。

4.修改MySql 的配置文件 my.ini

首先找到my.ini配置文件的路径,

将鼠标放在第一个箭头指向的位置,单击,就会出现实例信息,可看到配置文件My.ini的路径。

根据路径即可找到配置文件所在,用记事本打开

在[mysqld]下添加

skip-name-resolve

它将禁止 MySql Server 对外部连接进行 DNS 解析,使用这一选项可以消除 MySql 进行 DNS 解析的时间。

然后重启MySQL,如若依旧报错,再次执行第二步。重启电脑之后,有可能会报错“MySQL连接数据库出现错误:Host '127.0.0.1' is not allowed to connect to this MySQL server

实际访问数据库配置:jdbc.url=jdbc:mysql://localhost:3306/*****

实际数据设置为只允许localhost访问,经检查发现是MySQL配置文件my.ini中设置了skip-name-resolve,注释之后可以正常访问



废话:

看完之后是不是有点揪心???我开始按照网上解决方案,改配置文件,改hosts,最后依然没解决,到后来想到了刷新一下winsock,刷新之后给我的报错就是本Ip不被允许连接,百度一番之后删除掉了skip-name-resolve,才能连接上MySQL server。hosts文件与my.ini配置文件,我都改回原样,所以我把重新配置winsock给放在了第二步,按理来说执行完第二步就完事了,可我也没尝试过,所以还是附上了另两种解决方案的方法。


  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 要在Linux上进行MySQL远程连接,需要执行以下步骤: 1. 在MySQL服务器上启用远程连接功能。可以通过修改MySQL配置文件(my.cnf)来实现。找到bind-address选项并将其设置为...,这将允许所有IP地址连接MySQL服务器。 2. 创建一个MySQL用户并授予远程连接权限。可以使用以下命令创建用户并授予权限: CREATE USER 'username'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'%'; 其中,username是要创建的用户名,password是该用户的密码。 3. 在Linux上安装MySQL客户端。可以使用以下命令安装: sudo apt-get install mysql-client 4. 使用以下命令连接MySQL服务器: mysql -h hostname -u username -p 其中,hostnameMySQL服务器的主机名或IP地址,username是要连接MySQL用户名,-p选项将提示输入密码。 连接成功后,就可以在Linux上执行MySQL命令并管理MySQL数据库了。 ### 回答2: 在Linux环境中,Mysql数据库的访问配置需要进行一定的设置,才能够进行远程连接。下面我们将通过以下三个方面来介绍如何在Linux下进行远程连接Mysql数据库的设置。 1. 开启Mysql服务的远程访问 在Linux中,Mysql数据库默认是不允许远程访问的,因此我们需要先修改Mysql配置文件,开启远程访问。修改配置文件的过程如下: 1)找到并编辑Mysql的配置文件my.cnf。 2)找到bind-address参数,将其改为0.0.0.0。(这里的0.0.0.0代表任意IP地址均可访问) 3)重启Mysql服务。 通过以上步骤,我们就已经通过修改配置文件开启了Mysql的远程访问。 2. 创建Mysql的远程访问用户 为了保证Mysql的安全性,我们需要为其创建一个专门的访问用户。在创建用户的同时,我们需要为其设置合适的权限。创建用户的步骤如下: 1)在Mysql环境中创建用户,并为其添加密码。 2)为其授予远程访问的权限。 通过以上步骤,我们就已经创建了一个可以远程访问Mysql数据库的用户。 3. 远程连接Mysql数据库 在完成了以上两个步骤后,我们就可以在远程的电脑上连接Mysql数据库了。在连接的过程中,需要注意以下事项: 1)远程连接的目标计算机的IP地址和端口号设置必须正确且开放。 2)使用正确的用户名和密码进行登录。 3)一定要确保远程连接的电脑有权限进行Mysql的访问。 通过以上三个方面的设置,我们就能够在Linux环境中成功实现远程连接Mysql数据库了。 ### 回答3: Linux是一个开源的操作系统,MySQL是一个流行的开源关系数据库管理系统,我们可以使用Linux来连接MySQL,并进行数据库的访问和管理。 在Linux系统中连接MySQL数据库有两种方式:本地连接和远程连接。本地连接是指在Linux系统中直接安装MySQL服务,通过localhost或者127.0.0.1等本机IP地址进行访问。而远程连接是指通过其他计算机或者服务器连接MySQL数据库服务。 首先,我们需要在MySQL服务器端进行一些设置。在MySQL的配置文件my.cnf里,需要设置bind-address,将其改为0.0.0.0,这样可以让MySQL服务监听所有端口。 接下来需要授权远程连接的访问权限,可以通过以下命令实现: ``` GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; ``` 其中,root是用户名,%表示可以从任何IP地址进行连接,password是该用户的密码。如果你想限制某个IP访问,也可以使用以下语句: ``` GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address' IDENTIFIED BY 'password' WITH GRANT OPTION; ``` 其中,ip_address表示指定的IP地址,只有该IP才能连接MySQL数据库。 接下来,在客户端Linux系统中安装MySQL客户端程序,例如可以使用mysql命令进行连接。使用以下命令连接MySQL数据库: ``` mysql -u root -h ip_address -p ``` 其中,-u root表示用root用户登录MySQL数据库,-h ip_address表示连接到远程服务器的IP地址,-p表示需要输入密码。 连接成功后,我们就可以进行数据库的访问和管理了。 总之,远程连接MySQL数据库需要在MySQL服务器端进行相关设置,包括设置bind-address和授权访问权限,然后在客户端Linux系统中安装MySQL客户端程序并使用命令连接MySQL数据库,就可以进行数据库的操作了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值