MySQL 1042, "Can't get hostname for your address"

之前一直没问题,今天忽然提示

sqlalchemy.exc.OperationalError
OperationalError: (OperationalError) (1042, "Can't get hostname for your address") None None

用MySQL-Front也报一样的错误,根据网上的
(1)修改hosts,取消注释 127.0.0.1 localhost
(2)修改bin中的ini配置文件,在[mysqld]下添加skip-name-resolve

但是一样的错误,卸载Mysql后重装也没用,在CMD里也同样出现,求解救……

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql -u root -p -h 127.0.0.1 -P 330
6
Enter password: **********
ERROR 1042 (HY000): Can't get hostname for your address

但是在MySQL Command Line Client中可以显示已有的数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| test               |
| world              |
+--------------------+
6 rows in set (0.00 sec)

但是在CMD里面提示上面的错误

阅读 8.8k
5 个回答

解决办法

折腾了两天,各种修改配置文件,各种卸载和重装,投奔Ubuntu搞定后无法承受虚拟机的慢和卡,最终:

完全卸载

  • 命令行还能用的话,备份数据库
  • 控制面板卸载MySQL相关,删除安装相关文件夹,类似C:\Program Files\MySQL,C:\ProgramData\MySQL(ProgramData是隐藏的文件夹),C:\Users\Sky\AppData\Roaming\MySQL或Oracle
  • 删除注册表相关目录
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQ
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL(不放心还可以搜索删除相关的)

  • 总之相关的都删了,重启

安装MySQL5.5

没错,MySQL5.5.10,安装完成,MySQL-Front链接成功。之前无数次我都是想安装比较新的版本(5.6.22,5.6.24,5.7.7等),无数次完全卸载和重装,但是无动于衷同样的错误,砸电脑的冲动都有了。

这是一个神奇的问题,将MySQL服务的登陆身份改为本地系统账户,亲测有效

图片描述

会不会是 SQLAlchemy 里写错了?贴一下你的 SQLAlchemy 连接部分的代码?

但是在CMD里面提示上面的错误

你把127.0.0.1写成localhost试一下看看什么样

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题