• 解决: Can’t connect to local MySQL server through socket /var/lib/mysql/mysql.sock


    今天在搬瓦工上使用mysql 命令行,总报一个这样的错:Can’t connect to local MySQL server through socket ‘/xxxxx/mysql.sock’,一开始很郁闷,回来经过查找资料,解决了这个问题.

    当在本地系统连接到mysql服务器的时候,mysql 客户端通过一个叫做"socket"的本地文件进行连接,而不是通过本地环回接口(loopback)127.0.0.1进行连接.这个文件,默认情况下,客户端会去/var/lib/mysql/mysql.sock去寻找,但是我在安装的时候,这个文件是在usr/local/mysql/mysql.sock.

    通过mysql --help发现,有个--socket参数:-S, --socket=name   The socket file to use for connection.这个可用用来指定socket文件位置,但是每次都要设定,太痛苦了

    为了一劳永逸,我们可以更改mysql配置文件my.cnf,文件位置是这样规定的:

    Table 5.2 Option Files Read on Unix and Unix-Like Systems

    File NamePurpose
    /etc/my.cnf Global options
    /etc/mysql/my.cnf Global options
    SYSCONFDIR/my.cnf Global options
    $MYSQL_HOME/my.cnf Server-specific options (server only)
    defaults-extra-file The file specified with --defaults-extra-file, if any
    ~/.my.cnf User-specific options
    ~/.mylogin.cnf User-specific login path options (clients only)
    我的是在/etc/my.cnf,但是这个文件也是从一个备份文件复制过来的,然后里面内容是这样的:
     
    [mysqld]
    
    datadir=/var/mysql/data/
    
    socket=/usr/local/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
    
    pid-file=/var/mysql/data/www.chenhui.site.pid

    我一开始总以为只要改socket="xxxx.sock"就可以了,可是不管用,弄了半天,又查资料,才知道,client在进行连接时,也要设定它使用的sock,我的配置文件中没有client的配置项,在官方手册中,是这样的

    [client]
    port=3306
    socket=/tmp/mysql.sock

    于是,我在自己的配置文件中加上client项,并指定socket为自己安装时的目录:/usr/local/mysql/mysql.sock

    然后kill mysqld的进程,重新启动mysqld_safe,再用mysql客户端连接,不再报错了,OK了.

     
  • 相关阅读:
    linux文件权限查看及修改(实用)
    将JSON对象带有格式的写出到文件中
    mySQL数据库Sql语句执行效率检查--Explain命令
    mysql优化
    Linux-设置固定IP
    logback 配置详解(二)——appender
    logback 配置详解(一)——logger、root
    Thread
    Singleton
    多线程编程总结
  • 原文地址:https://www.cnblogs.com/ch459742906/p/6004526.html
Copyright © 2020-2023  润新知