mysql cakephp mamp mysql.sock

Falta la conexión de la base de datos "Mysql" y falta mysql.sock



cakephp mamp (6)

Después de buscar e intentar muchas cosas, finalmente logré resolver mi problema. La respuesta dada anteriormente por Chuck Burgess podría resolver el problema, pero mi escenario era un poco diferente de que no pude ver el archivo mysql.sock en:

/Applications/MAMP/tmp/mysql/mysql.sock

Pensé que mi mysql.sock faltaba, pero en realidad estaba allí y escondido (¡ESO ES EXTRAÑO! ME ENCONTRÉ A ESA CARPETA usando CLI Y VIERON). Estoy usando MAC y archivos que comienzan con ''.'' generalmente están OCULTADOS pero no sé por qué mysql.sock estaba oculto, entonces lo que hice fue en el archivo de configuración de mi base de datos, agregué 1 parámetro (unix_socket) y mi problema fue resuelto.

''unix_socket'' => ''/Applications/MAMP/tmp/mysql/mysql.sock''

Intentaba generar un código de modelo a partir de la herramienta de línea de comandos de tortas. Pero tengo este problema.

Warning Error: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in [/Users/test/Google_WWW/project_name/lib/Cake/Model/Datasource/Database/Mysql.php, line 177] Error: Database connection "Mysql" is missing, or could not be created. (although it''s showing that mysql database is connected at localhost in cakephp directory)

Estoy usando MAMP.

Busqué mucho y encontré algunas soluciones. Por ejemplo, este CakePHP: No existe tal archivo o directorio (tratando de conectarse a través de unix: ///var/mysql/mysql.sock)

o también puedo hacer un enlace simbólico de mysql.sock.

/Applications/MAMP/tmp/mysql/mysql.sock (not present in directory)

Pero antes de hacer nada, el problema es mysql.sock file no está presente en este directorio. He intentado reinstalar el MAMP pero todavía no hay mysql.sock.

Por favor ayudame a resolver este problema ? ¿Puedo crear mi propio archivo mysql.sock ..?

Editar: mi configuración db

public $default = array( ''datasource'' => ''Database/Mysql'', ''persistent'' => false, ''host'' => ''localhost'', ''login'' => ''root'', ''password'' => ''root'', ''database'' => ''db_name'', ''prefix'' => '''' );


He estado luchando con esto todo el fin de semana y finalmente lo resolví. Resulta que php.ini apunta a un "directorio de extensiones" que no existe. Crea un archivo phpinfo () y mira el valor de este campo:

Noté que en la carpeta instalada de mamp php hay una carpeta sin depuración-no-zts-20131226, que es diferente del valor que se muestra en phpinfo (). Lo que hice fue clonar esta carpeta y cambié el nombre al valor de phpinfo (). Probablemente podrías modificar el archivo php.ini pero no quería.

Veo que resolvió su problema, pero el mío era diferente, así que estoy publicando esta respuesta para ayudar a los futuros usuarios de Google a buscar un problema similar.

Espero que esto ayude.


MAMP es extraño cuando se trata de mysql. Lo más probable es que necesite configurar un enlace simbólico para saber dónde encontrarlo. Algo como:

sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock


En mi caso fue porque estaba llamando a la versión incorrecta de PHP. Es decir, estaba usando /usr/bin/php que cuando /usr/bin/php MAMP Pro es /Applications/MAMP/bin/php/php5.3.29/bin/php


En mi caso, el problema aparece justo después de un corte de energía. Así que lo solucioné eliminando el archivo /Applications/MAMP/tmp/mysql/mysql.pid y reiniciando MAMP.


Con MAMP crea un enlace simbólico en la carpeta / var / mysql /:

sudo ln -n /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock