CakePHP로 MySQL에 접속하려고 하면 「SQLSTATE[HY000] [2002] No such file or directory」라고 나왔다
「SQLSTATE[HY000][2002] No such file or directory」라고 하는 에러가 나와 접속을 확인할 수 없었기 때문에, 여러가지 조사해 대응했습니다.
원인
mysql.sock 라는 MySQL 소켓에 관한 파일이 잘 읽히지 않는 것이 원인인 것 같습니다.
( config/app.php의 연결 정보가 올바른지 확인됨)
 대응
 mysql.sock의 위치 확인
# mysqladmin version
mysqladmin  Ver 9.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Server version      10.1.26-MariaDB-0+deb9u1
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         2 min 37 sec
Threads: 1  Questions: 88  Slow queries: 0  Opens: 32  Flush tables: 1  Open tables: 26  Queries per second avg: 0.560
상기의 UNIX socket 의 항목에 /var/run/mysqld/mysqld.sock 라고 있습니다만, 이것이 mysqld.sock 의 패스가 됩니다.
 mysql.sock의 위치를 php에게 가르친다.
php.ini 에 mysql.sock 의 패스를 기술합니다.
이를 위해 먼저 php.ini의 위치를 찾습니다.
# php -i | grep php.ini
//php -iでphpに関する情報を表示しつつ、grepでphp.iniの部分だけ検索して表示します
Configuration File (php.ini) Path => /usr/local/etc/php
Loaded Configuration File => /usr/local/etc/php/php.ini
다음으로 php.ini 에 기술합니다.
PDO를 사용하기 위해 다음과 같이 설명합니다.
# vim /usr/local/etc/php/php.ini
php.inipdo_mysql.default_socket=/var/run/mysqld/mysqld.sock
 MySQL 서버 재시작
# service mysql restart
 확인
cakephp의 빌트인 서버를 기동해, 브라우저로부터 액세스 해, Database의 항목에 녹색 콕 모자가 붙어 있으면 OK입니다.
# bin/cake server -H 0.0.0.0 -p 80
이런 느낌↓
 
【참고】
(mysql.sock 관련)
 htps //w w. 모구마구. 이 m/wp/를 rdp 렛 s/아 r ゔぇ s/1198
(php.ini 관련)
 htps : // m / u g23 / ms / ab76 7104 0d073f1712
(SQL 관련)
 htps : // 코 m / 유 sk24 / ms / 923305 5 아카에 19f6976d
 htps : // 우에 b 걸린다. 네 t/mysql/mysql-로오 t파스ぉ
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(CakePHP로 MySQL에 접속하려고 하면 「SQLSTATE[HY000] [2002] No such file or directory」라고 나왔다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/Yorinton/items/bfdf962fe4b7339866f6
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
mysql.sock의 위치 확인
# mysqladmin version
mysqladmin  Ver 9.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Server version      10.1.26-MariaDB-0+deb9u1
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         2 min 37 sec
Threads: 1  Questions: 88  Slow queries: 0  Opens: 32  Flush tables: 1  Open tables: 26  Queries per second avg: 0.560
상기의
UNIX socket 의 항목에 /var/run/mysqld/mysqld.sock 라고 있습니다만, 이것이 mysqld.sock 의 패스가 됩니다.mysql.sock의 위치를 php에게 가르친다.
php.ini 에 mysql.sock 의 패스를 기술합니다.이를 위해 먼저
php.ini의 위치를 찾습니다.# php -i | grep php.ini
//php -iでphpに関する情報を表示しつつ、grepでphp.iniの部分だけ検索して表示します
Configuration File (php.ini) Path => /usr/local/etc/php
Loaded Configuration File => /usr/local/etc/php/php.ini
다음으로
php.ini 에 기술합니다.PDO를 사용하기 위해 다음과 같이 설명합니다.
# vim /usr/local/etc/php/php.ini
php.ini
pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock
MySQL 서버 재시작
# service mysql restart
확인
cakephp의 빌트인 서버를 기동해, 브라우저로부터 액세스 해, Database의 항목에 녹색 콕 모자가 붙어 있으면 OK입니다.
# bin/cake server -H 0.0.0.0 -p 80
이런 느낌↓
 
【참고】
(mysql.sock 관련)
 htps //w w. 모구마구. 이 m/wp/를 rdp 렛 s/아 r ゔぇ s/1198
(php.ini 관련)
 htps : // m / u g23 / ms / ab76 7104 0d073f1712
(SQL 관련)
 htps : // 코 m / 유 sk24 / ms / 923305 5 아카에 19f6976d
 htps : // 우에 b 걸린다. 네 t/mysql/mysql-로오 t파스ぉ
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(CakePHP로 MySQL에 접속하려고 하면 「SQLSTATE[HY000] [2002] No such file or directory」라고 나왔다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/Yorinton/items/bfdf962fe4b7339866f6
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
# bin/cake server -H 0.0.0.0 -p 80
Reference
이 문제에 관하여(CakePHP로 MySQL에 접속하려고 하면 「SQLSTATE[HY000] [2002] No such file or directory」라고 나왔다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Yorinton/items/bfdf962fe4b7339866f6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)