sql >> Databasteknik >  >> RDS >> Mysql

mysql_connect():Ingen sådan fil eller katalog

Ja du kan inte ansluta så!

@PLB och @jammypeach mysqli är efter v4.1, han använder v3 :) Killar läs specifikationerna, om du verkligen vill hjälpa!

Du kan inte ansluta, eftersom din socket-fil är lite fel. Jag minns nu att den gamla RH hade det här problemet tidigare. Din socket är förmodligen som /var/mysql/mysql.sock eller /tmp/mysql.sock men en eller flera appar letar efter den andra.

Om din är /tmp/mysql.sock men ingen /var/mysql/mysql.sock bör du:

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

Om du har /var/mysql/mysql.sock men ingen /tmp/mysql.sock så:

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

Du behöver behörighet för att göra ändringarna. Bara sudo, om det behövs före kommandona ovan!

EN ANNAN LÖSNING (enklare):

Skapa fil och anrop phpinfo(); Leta efter 'mysql.default_socket'; eller 'pdo_mysql.default_socket';Öppna My.ini eller My.cnf hitta socketvärdet t.ex. socket=/tmp/mysql.sockÖppna din php.ini-fil (som också finns på din phpinfo()-sida som 'Laddad konfigurationsfil') och ändra alla förekomster av den felaktiga socketplatsen till rätt socketplats från MySQL.

EN ANNAN LÖSNING (enklast):DSN för PDO:

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

mysql_connect:

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

Ditt system är verkligen skrämmande när det kommer till säkerhet, om du är värd för känslig data skulle jag uppgradera till de senaste versionerna.

---- UPPDATERING ----

Aaahhhh PHP 5.0 och MySQL 3.23 :)

PHP 5 har en mysql-klient paketerad som inte kan ansluta till en MySQL-databas som är mindre än version 4.1. Från och med version 4.1 använder MySQL ett nytt sätt att hasha lösenord som inte är kompatibelt med databaser före 4.1. Servern som din konfiguration ansluter till är version 3.23. Så du måste skaffa dig en högre version av MySQL. Tyvärr, men det finns ingen annan praktisk lösning för ditt fall. Om jag var du skulle jag uppgradera hela systemet och installera den senaste OS-versionen, om jag var tvungen skulle jag gå med Debian och de senaste stabila versionerna av PHP och MySQL.



  1. Snabbaste sättet att subset - data.table vs. MySQL

  2. SQL*Plus hur accepterar man textvariabel från prompt?

  3. Generera ett slumpmässigt tal i intervallet 1 - 10

  4. Varför ska jag använda int istället för en byte eller short i C#