sql >> Database >  >> RDS >> Mysql

mysql_connect():Geen dergelijk bestand of map

Ja, je kunt zo niet verbinden!

@PLB en @jammypeach mysqli zit achter v4.1, hij gebruikt v3 :) Jongens lees de specificaties, als je echt wilt helpen!

Je kunt geen verbinding maken, omdat je socketbestand een beetje verkeerd is. Ik herinner me nu dat de oude RH dit probleem eerder had. Uw socket is waarschijnlijk als /var/mysql/mysql.sock of /tmp/mysql.sock, maar een of meer apps zoeken naar de andere.

Als de jouwe /tmp/mysql.sock is maar geen /var/mysql/mysql.sock, moet je:

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

Als je /var/mysql/mysql.sock hebt maar geen /tmp/mysql.sock, dan:

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

U heeft machtigingen nodig om de wijzigingen aan te brengen. Gewoon sudo, indien nodig voor de bovenstaande commando's!

EEN ANDERE OPLOSSING (gemakkelijker):

Maak een bestand aan en bel phpinfo(); Zoek naar 'mysql.default_socket'; of 'pdo_mysql.default_socket';Open My.ini of My.cnf om de socketwaarde te vinden, b.v. socket=/tmp/mysql.sockOpen je php.ini-bestand (dat ook op je phpinfo()-pagina staat als 'Geladen configuratiebestand') en verander alle keren dat de verkeerde socketlocatie voorkomt in de juiste socketlocatie vanuit MySQL.

EEN ANDERE OPLOSSING (gemakkelijkste):DSN voor PDO:

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

mysql_connect:

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

Je systeem is echt eng als het gaat om beveiliging. Als je gevoelige gegevens host, zou ik upgraden naar de nieuwste versies.

---- BIJWERKEN ----

Aaahhhh PHP 5.0 en MySQL 3.23 :)

PHP 5 heeft een mysql-client die geen verbinding kan maken met een MySQL-database van minder dan versie 4.1. Vanaf versie 4.1 gebruikt MySQL een nieuwe manier van wachtwoord-hashing die niet compatibel is met databases van vóór 4.1. De server waarmee uw configuratie verbinding maakt, is versie 3.23. U moet dus een hogere versie van MySQL aanschaffen. Sorry, maar er is geen andere praktische oplossing voor uw geval. Als ik jou was, zou ik het hele systeem upgraden en de meest recente versie van het besturingssysteem installeren, als het moest, zou ik voor Debian gaan en de meest recente stabiele versies van PHP en MySQL.



  1. Hoe time_to_minute in Mysql te doen?

  2. Een juiste manier om een ​​tijdzone op te slaan in een database?

  3. Fix Error 1064 (42000) bij gebruik van de MINUS-operator in MariaDB

  4. Een PostgreSQL-commitfest beheren