sql >> Base de Datos >  >> RDS >> Mysql

mysql_connect():No existe tal archivo o directorio

¡Sí, no puedes conectarte así!

@PLB y @jammypeach mysqli está después de v4.1, él está usando v3 :) ¡Chicos, lean las especificaciones, si realmente quieren ayudar!

No puede conectarse, porque su archivo de socket es un poco incorrecto. Ahora recuerdo que el antiguo RH tenía este problema antes. Su socket probablemente sea /var/mysql/mysql.sock o /tmp/mysql.sock, pero una o más aplicaciones están buscando a la otra.

Si el suyo es /tmp/mysql.sock pero no /var/mysql/mysql.sock, debe:

cd /var 
mkdir mysql
cd mysql
ln -s /tmp/mysql.sock mysql.sock

Si tiene /var/mysql/mysql.sock pero no /tmp/mysql.sock entonces:

cd /tmp
ln -s /var/mysql/mysql.sock mysql.sock

Necesitará permisos para realizar los cambios. ¡Solo sudo, si es necesario antes de los comandos anteriores!

OTRA SOLUCIÓN (más fácil):

Crea un archivo y llama a phpinfo(); Busque 'mysql.default_socket'; o 'pdo_mysql.default_socket';Abra My.ini o My.cnf para encontrar el valor del socket, p. socket=/tmp/mysql.sockAbra su archivo php.ini (que también se encuentra en su página phpinfo() como 'Archivo de configuración cargado') y cambie todas las apariciones de la ubicación de socket incorrecta a la ubicación de socket correcta de MySQL.

OTRA SOLUCIÓN (la más fácil):DSN para PDO:

mysql:unix_socket=/tmp/mysql.sock;dbname=...

mysql_connect:

$db = mysql_connect('localhost:/tmp/mysql.sock', ...

Su sistema es realmente aterrador cuando se trata de seguridad, si está alojando datos confidenciales, actualizaría a las últimas versiones.

---- ACTUALIZAR ----

Aaahhhh PHP 5.0 y MySQL 3.23 :)

PHP 5 tiene un cliente mysql empaquetado que no puede conectarse a una base de datos MySQL inferior a la versión 4.1. A partir de la versión 4.1, MySQL utiliza una nueva forma de hashing de contraseñas que no es compatible con las bases de datos anteriores a la 4.1. El servidor al que se conecta su configuración es la versión 3.23. Por lo tanto, debe obtener una versión superior de MySQL. Lo sentimos, pero no hay otra solución práctica para su caso. Si yo fuera usted, actualizaría todo el sistema e instalaría la versión más reciente del sistema operativo; si tuviera que hacerlo, optaría por Debian y las versiones estables más recientes de PHP y MySQL.