Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql_connect():Brak takiego pliku lub katalogu

Tak, nie możesz się tak połączyć!

@PLB i @jammypeach mysqli jest po v4.1, używa v3 :) Chłopaki przeczytajcie specyfikacje, jeśli naprawdę chcecie pomóc!

Nie możesz się połączyć, ponieważ twój plik typu socket jest trochę błędny. Pamiętam teraz, że stary RH miał już ten problem. Twoje gniazdo prawdopodobnie ma postać /var/mysql/mysql.sock lub /tmp/mysql.sock, ale jedna lub więcej aplikacji szuka drugiej.

Jeśli twój plik to /tmp/mysql.sock, ale nie /var/mysql/mysql.sock, powinieneś:

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

Jeśli masz /var/mysql/mysql.sock, ale nie masz /tmp/mysql.sock, to:

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

Aby wprowadzić zmiany, potrzebujesz uprawnień. Po prostu sudo, w razie potrzeby przed powyższymi poleceniami!

INNE ROZWIĄZANIE (łatwiejsze):

Utwórz plik i wywołaj phpinfo(); Poszukaj „mysql.default_socket”; lub 'pdo_mysql.default_socket';Otwórz My.ini lub My.cnf znajdź wartość gniazda, np. socket=/tmp/mysql.sockOtwórz plik php.ini (który znajduje się również na stronie phpinfo() jako „Wczytany plik konfiguracyjny”) i zmień wszystkie wystąpienia nieprawidłowej lokalizacji gniazda na prawidłową lokalizację gniazda z MySQL.

INNE ROZWIĄZANIE (najłatwiejsze):DSN dla PDO:

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

mysql_connect:

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

Twój system jest naprawdę przerażający, jeśli chodzi o bezpieczeństwo, jeśli przechowujesz poufne dane, zaktualizuję go do najnowszych wersji.

---- AKTUALIZACJA ----

Aaahhhh PHP 5.0 i MySQL 3.23 :)

PHP 5 ma klienta mysql w pakiecie, który nie może połączyć się z bazą danych MySQL w wersji starszej niż 4.1. Począwszy od wersji 4.1, MySQL używa nowego sposobu haszowania haseł, który nie jest kompatybilny z bazami danych wcześniejszych niż 4.1. Serwer, z którym łączy się Twoja konfiguracja, to wersja 3.23. Musisz więc zdobyć wyższą wersję MySQL. Przepraszamy, ale nie ma innego praktycznego rozwiązania dla Twojej sprawy. Na twoim miejscu zaktualizowałbym cały system i zainstalowałbym najnowszą wersję systemu operacyjnego, gdybym musiał, wybrałbym Debiana i najnowsze stabilne wersje PHP i MySQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie MySQL dla wielu wartości pól wyboru

  2. Używanie MySQL z Django — odmowa dostępu dla użytkownika '@'localhost

  3. BIT(1) lub TINYINT dla flag w MySQL

  4. Czy jest jakaś różnica między tymi dwoma zapytaniami?

  5. jak pracować z danymi dynamicznymi i wykresami google?