sql >> Databáze >  >> RDS >> Mysql

mysql_connect():Žádný takový soubor nebo adresář

Ano, takto se nemůžete připojit!

@PLB a @jammypeach mysqli je po verzi 4.1, používá v3 :) Kluci, přečtěte si specifikace, pokud chcete opravdu pomoci!

Nemůžete se připojit, protože váš soketový soubor je trochu špatně. Teď si vzpomínám, že starý RH měl tento problém již dříve. Váš socket je pravděpodobně /var/mysql/mysql.sock nebo /tmp/mysql.sock, ale jedna nebo více aplikací hledá tu druhou.

Pokud je váš /tmp/mysql.sock, ale ne /var/mysql/mysql.sock, měli byste:

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

Pokud máte /var/mysql/mysql.sock, ale nemáte /tmp/mysql.sock, pak:

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

K provedení změn budete potřebovat oprávnění. Stačí sudo, pokud je to nutné, před výše uvedenými příkazy!

DALŠÍ ŘEŠENÍ (jednodušší):

Vytvořte soubor a zavolejte phpinfo(); Hledejte 'mysql.default_socket'; nebo 'pdo_mysql.default_socket';Otevřete My.ini nebo My.cnf a najděte hodnotu soketu, např. socket=/tmp/mysql.sockOtevřete svůj soubor php.ini (který se také nachází na vaší stránce phpinfo() jako 'Načtený konfigurační soubor') a změňte všechny výskyty nesprávného umístění soketu na správné umístění soketu z MySQL.

DALŠÍ ŘEŠENÍ (nejjednodušší):DSN pro PDO:

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

mysql_connect:

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

Váš systém je opravdu děsivý, pokud jde o zabezpečení, pokud hostujete citlivá data, upgradoval bych na nejnovější verze.

---- AKTUALIZACE ----

Aaahhhh PHP 5.0 a MySQL 3.23 :)

PHP 5 má zabaleného klienta mysql, který se nemůže připojit k databázi MySQL nižší než verze 4.1. Počínaje verzí 4.1 používá MySQL nový způsob hashování hesel, který není kompatibilní s databázemi staršími než 4.1. Server, ke kterému se připojujete, je verze 3.23. Musíte si tedy pořídit vyšší verzi MySQL. Je nám líto, ale pro váš případ neexistuje žádné jiné praktické řešení. Být tebou, upgradoval bych celý systém a nainstaloval bych nejnovější verzi OS, kdybych musel, zvolil bych Debian a nejnovější stabilní verze PHP a MySQL.



  1. Kontrola stavu Exadata pomocí nástroje Exachk

  2. Získejte počty záznamů pro všechny tabulky v databázi MySQL

  3. Jak můžeme v MySQL zjistit, zda je index tabulky seskupený nebo ne?

  4. Cloud Vendor Deep-Dive:PostgreSQL na Google Cloud Platform (GCP)