Kiedy używasz domyślnej wartości „host” w phpMyAdmin, próbuje on połączyć się przez połączenie przez gniazdo ($cfg['Servers'][$i]['host'] = 'localhost';
jest wartością domyślną, chyba że wyraźnie ustawiłeś to w config.inc.php
). W systemie Mac OS z jakiegoś powodu PHP i MySQL nie są zgodne co do domyślnej lokalizacji pliku gniazda.
Jest kilka prostych rozwiązań, ale dla dwóch z nich musisz najpierw ustalić rzeczywistą drogę do gniazda. Najłatwiej jest dostać się do wiersza poleceń MySQL. Otwórz „Terminal” w folderze Aplikacje -> Narzędzia, a następnie wpisz mysql -u root -p
a gdy zostaniesz o to poproszony, wprowadź hasło roota MySQL (domyślne jest zwykle puste). W wierszu poleceń MySQL wpisz status;
a zobaczysz listę kilku ustawień związanych z połączeniem. Poszukaj takiego
Gniazdo UNIX:/var/run/mysqld/mysqld.sock
To jest droga do gniazda. Twój prawie na pewno będzie inny niż ten.
A teraz o tych sposobach naprawienia tego:
- Zmień domyślne gniazdo w PHP. Otwórz plik konfiguracyjny PHP (prawdopodobnie php.ini) w swoim ulubionym edytorze tekstu i dodaj poprawną ścieżkę do wiersza
mysqli.default_socket =
. Ta zmiana wpłynie na każdy skrypt PHP używający domyślnej ścieżki gniazda systemowego. - Zmień gniazdo tylko dla phpMyAdmin. Otwórz plik konfiguracyjny phpMyAdmin (config.inc.php) w swoim ulubionym edytorze tekstu. Edytuj lub dodaj wiersz
$cfg['Servers'][$i]['socket'] = '';
z prawidłową ścieżką. - Przełącz typ połączenia na sieć TCP. Ponownie edytuj plik konfiguracyjny phpMyAdmin (config.inc.php) i edytuj lub dodaj wiersz
$cfg['Servers'][$i]['host'] = '127.0.0.1';
. To powie phpMyAdminowi, aby używał metody połączenia sieciowego TCP zamiast gniazd. Pamiętaj, że instancje MySQL mogą domyślnie nie nasłuchiwać przychodzących połączeń TCP, a Twój użytkownik MySQL example@ sqldat.com to nie to samo co przykł[email protected] lub [email protected] %.
Powinieneś potrzebować tylko jednego z tych rozwiązań, a nie wszystkich trzech.