validar usuarios usuario sistema sesion registro para iniciar formulario descargar datos contraseña con codigo administrador mysql macos privileges

sistema - registro de usuarios php mysql descargar



El usuario de mi base de datos existe, pero todavía obtengo un(HY000/2002): no existe tal archivo o directorio (3)

Estoy intentando instalar foros de vainilla en mi Mac, y para esto acabo de crear una base de datos y un usuario desde la línea de comandos mysql:

mysql> CREATE DATABASE vanilla; Query OK, 1 row affected (0.00 sec) mysql> create user ''vanilla_user3''@''localhost'' IDENTIFIED BY ''vanilla_password''; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON * . * TO ''vanilla_user3''@''localhost''; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)

Entonces trato de conectarme usando el siguiente código:

$con=mysqli_connect("localhost","vanilla_user3","vanilla_password","vanilla"); if (mysqli_connect_errno($con)) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); }

pero desafortunadamente recibo un error que dice Warning: mysqli_connect(): (HY000/2002): No such file or directory in /Users/kramer65/Sites/vanilla/info.php on line 3 Failed to connect to MySQL: No such file or directory

¿Alguna idea de dónde voy mal?


Digamos que su puerto MAMP MySQL está configurado en 8889 como está por defecto. A veces, solo localhost no es suficiente, en cuyo caso también tiene que colocar el puerto MySQL para que pueda hacer localhost:8889 o localhost:{whatever your MySQL port number is} . Todavía soy nuevo en MySQL, así que no sé por qué, pero a alguien que haya recibido el mensaje recientemente: Warning: mysqli::mysqli(): (HY000/2002): No such file or directory in ... existe Warning: mysqli::mysqli(): (HY000/2002): No such file or directory in ... agregar el número de puerto MySQL a localhost fue la solución para mí.


Muy bien, acabo de encontrar la solución. El problema resultó ser que el host no debería haber sido localhost , sino 127.0.0.1 . Siempre pensé que localhost y 127.0.0.1 eran iguales, pero resultó ser diferente.

Entonces, tal vez como una sugerencia para futuros usuarios, siempre use la ip cuando tenga dudas.

Les deseo a todos un hermoso día!


Tuve el mismo problema pero el problema era algo relacionado con el archivo php.ini .

Tuve que editar estas dos líneas en /etc/php.ini (o donde sea que se encuentre su php.ini ):

mysql.default_socket = /tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock

Reinicie el servidor apache para asegurarse de que se reflejen los cambios.

sudo apachectl restart