• 解决ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'方法及其原理


    原文链接:https://blog.csdn.net/weixin_43423781/article/details/105396230

    错误信息:
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

    出现问题原因:
    有可能是 my.cnf 配置文件中设置了 [mysqld] 的参数 socket ,而没有设置[client]的参数socket

    **mysql.sock 文件有什么用:**

    mysql 支持 socket 和 TCP/IP 连接。那么 mysql.sock 这个文件有什么用呢?连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。/tmp 文件夹属于临时文件,随时可能被删除。

    1.TCP 连接(如果报错 /tmp/mysql.sock,你可以尝试这种方式连接)

    mysql -uroot -h 127.0.0.1 -p

    2.socket 连接

    mysql -uroot -p

    解决方式:
    添加 [client] 配置项,如下所示

    配置前:(配置 [client] 前,会报错’/tmp/mysql.sock’ (2))

    [mysqld]
    datadir=/usr/local/mysql/data
    basedir=/usr/local/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

    配置后:(配置 [client] 后,重启 mysql服务)

    [mysqld]
    datadir=/usr/local/mysql/data
    basedir=/usr/local/mysql
    socket=/var/lib/mysql/mysql.sock(跟这个socket路径一样)
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    [client]
    port=3306
    socket=/var/lib/mysql/mysql.sock
    ————————————————
    版权声明:本文为CSDN博主「AbigailCui」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_43423781/article/details/105396230

  • 相关阅读:
    【蜕变之路】第20天 UUID和时间戳的生成 (2019年3月10日)
    3.EntityFramework的多种记录日志方式,记录错误并分析执行时间过长原因(系列4)
    reactnative资源
    代码
    模板匹配模型、原型模型和区别性特征模型各自如何解释汉字的知觉
    mysqldatadir 转移
    mysql主从设置windows
    心灵鸡汤
    测试的发现遗漏BUG的做法
    汉字模式匹配的过程
  • 原文地址:https://www.cnblogs.com/yang1314/p/14505290.html
Copyright © 2020-2023  润新知