zoukankan      html  css  js  c++  java
  • 解决: 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了.

     
  • 相关阅读:
    python day 6 time 库
    python day 5 基本数据类型
    20191206《信息安全导论》第六周学习总结
    第十节 数据流重定向
    第九节 简单的文本处理
    第八节 命令执行顺序控制与管道
    第七节 文件系统操作与磁盘管理
    第六节 文件打包与解压缩
    第五节 环境变量与文件查找
    第四节 Linux目录文件及文件基本操作
  • 原文地址:https://www.cnblogs.com/ch459742906/p/6004526.html
Copyright © 2011-2022 走看看