zoukankan      html  css  js  c++  java
  • PHP MySQL mysql.sock的问题

    SQLSTATE[HY000] [2002] No such file or directory

    原因是找不到mysql.sock这个文件。。一般出现的症状就是能用ip连接mysql.但不能使用localhost连接本机的mysql

    解决方法:

    find / -name ‘mysql.sock’ 查找一下本机这个文件在哪里

    修改php.ini文件里面:

    mysql.default_socket = /tmp/mysql.sock
    pdo_mysql.default_socket= /tmp/mysql.sock
    mysqli.default_socket =/tmp/mysql.sock
    使用mysqld引擎的数据库应修改为如下设置
    mysql.default_socket = /tmp/mysqld.sock
    pdo_mysql.default_socket= /tmp/mysqld.sock
    mysqli.default_socket =/tmp/mysqld.sock

    如果你不知道自己使用的是mysql.sock还是mysqld.sock文件,或者不知道mysql_socket文件的位置,打开phpinfo() 函数信息页面找到PHP扩展中MYSQL扩展所在位置,找到里面的MYSQL_SOCKET对应的路径值复制出来即可

    再看一下mysql里面这个变量的位置:

    #mysql -u root -p

    mysql>show variables like '%sock%';

    +-----------------------------------------+---------------------------+

    | Variable_name                           | Value                     |

    +-----------------------------------------+---------------------------+

    | performance_schema_max_socket_classes   | 10                        |

    | performance_schema_max_socket_instances | -1                        |

    | socket                                  | /var/mysql/mysql.sock |

    +-----------------------------------------+---------------------------+

    3 rows in set (0.00 sec)

    如果不socket的位置和你实际位置不一样。可以使用ln命令进行链接一下

    例如:ln -s /tmp/mysql.sock /var/mysql/mysql.sock

    修改完成后 重启apache 或者NGINX下重启php-fpm 即可解决问题

    注:实际上Yii2所使用的PDO链接数据库,之修改设定pdo_mysql.default_socket 一项的配置文件路径即可,但考虑到后续使用和其他一些应用场合,就索性连同mysql,mysqli的socket路径一同设置修改了(修改设置路径地址 必须为mysql_socket所在实际文件路径地址,否则将导致PHP无法正常链接使用MYSQL数据库)……

  • 相关阅读:
    python 基础2.5 循环中continue与breake用法
    python 基础 2.4 while 循环
    python 基础 2.3 for 循环
    python 基础 2.2 if流程控制(二)
    python 基础 2.1 if 流程控制(一)
    python 基础 1.6 python 帮助信息及数据类型间相互转换
    python 基础 1.5 python数据类型(四)--字典常用方法示例
    Tornado Web 框架
    LinkCode 第k个排列
    LeetCode 46. Permutations
  • 原文地址:https://www.cnblogs.com/micenote/p/6005137.html
Copyright © 2011-2022 走看看