`
xitonga
  • 浏览: 579561 次
文章分类
社区版块
存档分类
最新评论

MySQL有关1042 Can’t get hostname for your address的问题分析解决过程

 
阅读更多

[Comment 1]
前同事企鹅上面说他安装的mysql 5.5,发现用mysql客户端远程连接的时候,报1042-Can’t get hostname for your address错误,但是权限已经grant了并且grant成功了。
这个报错的意思是“您的地址无法获得主机名”,我就想到了skip-name-resolve参数。

官方文档:

  • --skip-name-resolve

    Use IP addresses rather than host names when creating grant table entries. This option can be useful if your DNS does not work.

  • --skip-name-resolve

    Do not resolve host names when checking client connections. Use only IP numbers. If you use this option, allHost column values in the grant tables must be IP numbers orlocalhost. See Section7.7.11, “How MySQL Uses DNS”.

    mysql> show variables like '%skip_name_resolve%';
    +-------------------+-------+
    | Variable_name | Value |
    +-------------------+-------+
    | skip_name_resolve | ON |
    +-------------------+-------+
    1 row in set (0.00 sec)

    mysql> set global skip_name_resolve=0;
    ERROR 1238 (HY000): Variable 'skip_name_resolve' is a read only variable
    mysql>
    失败了,看来是只有修改my.cnf了

    在[mysqld]节点下修改

    skip-name-resolve
    #忽略主机名的方式访问
    lower_case_table_names=1
    #忽略数据库表名大小写

    重启MySQLD process即可。


    [Comment 2]
    前同事企鹅留言:
    mysql -h 192.168.1.101 -u root -p
    访问不了,我本地的mysql.192.168.1.101是本地ip地址。
    grant all privileges on *.* to 'hive'@'192.168.1.101' identified by 'hive' with grant option;就是报连接不上,权限问题,怎么搞定。

    查看官方文档:

  • hostname

    Variable Name hostname
    Variable Scope Global
    Dynamic Variable No
    Permitted Values
    Type string

    The server sets this variable to the server host name at startup.

    mysql> show variables like '%hostname%';
    +---------------+-------------------------------------------+
    | Variable_name | Value                                     |
    +---------------+-------------------------------------------+
    | hostname      | xxxxx.china.online.xx.com |
    +---------------+-------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> set global hostname='xxxxx2.china.online.xx.com';
    ERROR 1238 (HY000): Variable 'hostname' is a read only variable
    mysql> 

    失败了,只有修改my.cnf了,在mysqld选项下面

    [mysqld]
    # 注释掉参数即可,mysql直接用本机ip不能访问
    # hostname

    然后重启mysqld 服务即可。

  • 分享到:
    评论

    相关推荐

      VC gethostname获取计算机名和IP地址.rar

      VC 获取计算机名和IP地址,基于MFC的,是一...具体来说是使用gethostname获取主机名(计算机名),使用GetIPAddress来获取IP地址的字符串,然后再经过字符转换成IP格式,这个例子挺简单,对研究MFC的朋友,或许有帮助。

      gethostname.rs:所有系统的gethostname()

      gethostname.rs 所有平台的 。 use gethostname :: gethostname; println! ( "Hostname: {:?}" , gethostname ()); 现有技术 还提供gethostname() ,但从2019年起将。此板条箱改善了。 执照 版权所有2019 ...

      electra-ia003-esp

      E (7657) esp-tls: couldn't get hostname for :aaa.bbb.ccc: E (7657) esp-tls: Failed to open new connection E (7657) TRANS_SSL: Failed to open a new connection E (7657) MQTT_CLIENT: Error transport ...

      解决linux找不到hostname的处理

      解决linux找不到hostname的处理文档UnknownHostException

      gethostname4j:简单的JNA库可从Java获取当前计算机的主机名

      gethostname4j 简单的JNA库可从Java获取当前计算机的主机名我很沮丧地发现InetAddress.getLocalHost().getHostName() Java惯用语在某些情况下返回localhost,而这似乎只能通过修改/etc/hosts来解决。 该库使用JNA...

      gethostname

      通过已知远程主机的IP地址,获取远程主机的主机名

      Linux中hostname修改方法详解

      Linux操作系统的hostname是一个kernel变量,可以使用如下两种方式查看 ...永久更改系统的hostname需要要修改相关的设置文件 1 基于RedHat发行版的linux系统 修改/etc/sysconfig/network文件,将里面

      解决C#广播问题

      解决C#广播,很简单 C#中发送广播消息的过程如下,注意要调用SetSockOption函数,不然要抛出异常: Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.... string hostname = Dns.GetHostName();

      universal loader 2.0.0b_sat_MultiProgrammer_gethostname_universa

      Multi Satellite Receiver programmer

      GetIP PB获取IP的DLL

      Function uLong Gethost(ref string hostname) Library "GetIP60.dll" ALIAS FOR "Gethost;ansi" 调用方法 string ls_Host = space(256) int result result = Gethost(ls_Host) if result =0 then sle_1.text=...

      MYSQL导入导出.sql文件

      1.C:\>mysql -h hostname -u username -p 按ENTER键,等待然后输入密码。这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root。 进入命令行后可以直接操作MYSQL了。 2.简单介绍一下MYSQL...

      MySQL数据库管理常用命令

      导读:MySQL数据库管理常用命令。 安装利用RPM包安装Mysql,设置TCP 3306端口的iptables。 root密码管理设置root用户的密码mysqladmin -uroot password 'password'。 修改root用户的密码mysqladmin -uroot -p ...

      pb中如何获得机器ip地址

      这样,只要获取运行程序的机器ip问题就解决了,然而,pb中没有象delphi 中有现成的函数可以很方便的获的机器的ip,我们只好利用外部函数来实现了。 首先声明外部函数 function int WSAStartup( uint ...

      hostname命令 显示和设置系统的主机名

      hostname命令用于显示和设置系统的主机名称。环境变量HOSTNAME也保存了当前的主机名。 在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名...

      Delphi2010解决ZEOSDBO-7.1.3a控件调用mysql中文乱码

      Delphi2010解决ZEOSDBO-7.1.3a控件调用mysql中文乱码 ZConnection1.Database:=_Database1; ZConnection1.Port:=_Port; ZConnection1.User:=_User; ZConnection1.Password:=_Password; ZConnection1.HostName:=_...

      kubernetes 部署mysql主从

      6、集群内访问直接podName.serviceName:使用headless service+dns可以让slave节点通过hostname访问master,hostname固定为podName.ServiceName,如:serviceName为mysql,则master的hostname为mysql-0.mysql

      网络ip扫描工具,根据hostname也可以

      网络ip扫描工具,根据hostname也可以

      Socket介绍及用法

      Socket的简介,用法,连接过程,及常用的函数,实例.

      MySQL中⽇志的⾯试题总结

      MySQL 中的重要⽇志分为以下⼏个: ① 错误⽇志:⽤来记录 MySQL 服务器运⾏过程中的错误信息,⽐如,⽆法加载 MySQL 数据库的 数据⽂件,或权限不正确等都会被记录在此,还有复制环境下,从服务器进程的信息也会被...

    Global site tag (gtag.js) - Google Analytics