Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo „/var/mysql/mysql.sock” (38)

385

Mam duży problem z połączeniem się z mysql. Kiedy biegnę:

/usr/local/mysql/bin/mysql start

Mam następujący błąd:

Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38)

Mam mysql.sockw /var/mysqlkatalogu.

W /etc/my.cnfmam:

[client]
port=3306
socket=/var/mysql/mysql.sock

[mysqld]
port=3306
socket=/var/mysql/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M

a /etc/php.inija mam:

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket = /var/mysql/mysql.sock

Uruchomiłem ponownie apache za pomocą sudo /opt/local/apache2/bin/apachectl restart

Ale nadal mam błąd.

W przeciwnym razie nie wiem, czy to istotne, ale kiedy mysql_config --socketsdostanę

--socket         [/tmp/mysql.sock]
Lambivist
źródło
53
Czy MySQL działa?
David
2
To z pewnością wyjaśnia błąd przy próbie połączenia się z nim. Jak, jak wspomniano w @Romain, jest coś w logach MySQL (spróbuj /var/log/mysqllub gdzieś tam), co wskazuje, dlaczego nie działa? Czy podczas próby uruchomienia pojawia się błąd?
David
5
Otrzymywałem ten sam błąd, ale w moim przypadku dowiedziałem się, że mysql nie chce się uruchomić, ponieważ dysk jest w 100% pełny. /var/log/mysqld.log był pomocny.
yellavon
4
przypuszczam, że powodem, dla którego pytają, czy jest uruchomione, jest to, że gniazdo jest tworzone podczas uruchamiania usługi. zainstalowałem mysql, ale nigdy nie uruchomiłem usługi, więc plik .sock nie istnieje. wpisz service mysqld startjeśli właśnie zainstalowałeś. HTH
changokun
2
Poniżej odpowiedź shimanyi sudo service mysql starturatowała mnie
Kiren Siva

Odpowiedzi:

218

Jeśli plik my.cnf (zwykle w folderze / etc / mysql / ) jest poprawnie skonfigurowany z

socket=/var/lib/mysql/mysql.sock

możesz sprawdzić, czy mysql jest uruchomiony za pomocą następującego polecenia:

mysqladmin -u root -p status

spróbuj zmienić swoje uprawnienia do folderu mysql. Jeśli pracujesz lokalnie, możesz spróbować:

sudo chmod -R 755 /var/lib/mysql/

to dla mnie rozwiązało

marimaf
źródło
11
Pomogło mi to po wykonaniu powyższych kroków i ponownym uruchomieniu mysqldusługi.
whirlwin
11
Najlepiej byłoby ustawić uprawnienia na 755, aby tylko właściciel katalogu mógł do niego pisać.
kodewaggle
2
Mój problem polegał na tym, że zabrakło miejsca dla mojej aplikacji! Klasyczny!
James T Snell
3
W moim openSUSE 12.3 plik my.cnf znajduje się w / etc /.
powinniśmy również zmienić uprawnienia na /var/log/mysqld.log, Dzięki
Allahbakash.G
94

czy na pewno zainstalowałeś mysql oraz serwer mysql?

Na przykład, aby zainstalować serwer mySql, użyję yum lub apt, aby zainstalować zarówno narzędzie wiersza polecenia mysql, jak i serwer:

yum -y install mysql mysql-server (or apt-get install mysql mysql-server)

Włącz usługę MySQL:

/sbin/chkconfig mysqld on

Uruchom serwer MySQL:

/sbin/service mysqld start

następnie ustaw hasło root MySQL:

mysqladmin -u root password 'new-password' (with the quotes)

Mam nadzieję, że to pomoże.

Waqas
źródło
Użyłem homebrew i działało to jak urok:brew install mysql
JaKXz
2
Zainstalowałem już klienta, polecenie, którego potrzebowałem, było sudo apt-get install mysql-serverwtedy życiem
ErichBSchulz
1
Czy dane wyjściowe Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38) od klienta nie są? To klient próbuje się nie połączyć, prawda? (Myślę, że oryginalne pytanie wymaga edycji, aby to wyjaśnić).
msouth
76

Szybkie obejście, które zadziałało dla mnie: spróbuj użyć lokalnego adresu IP (127.0.0.1) zamiast „localhost” w mysql_connect (). To „zmusza” php do połączenia przez TCP / IP zamiast gniazda unix.

Maurizio
źródło
Udało się ... ale dlaczego? Czy MySQL nie rozwiązuje się localhosti nie dostaje 127.0.0.1nawet przed próbą połączenia?
Jaime Hablutzel
3
nie ... podczas korzystania z localhost nie korzystasz z gniazda internetowego. Używasz gniazda IPC. en.wikipedia.org/wiki/Unix_domain_socket . 127.0.0.1 jest lokalna loopback co oznacza, że wniosek nie będzie zamknąć swoje urządzenie, ale będzie używać protokołu TCP / IP, będąc w ten sposób wolniej ...
Mistrz Jogurt
Dla mnie też działa. Jestem na Ubuntu 14.04, hhvm i nginx.
Maykonn,
1
dzięki. to działa dla mnie, ale nie jest dla mnie jasne, jaka jest poprawka
Nathan Buesgens
Jest to również konieczne, gdy łączysz się ze zdalnym serwerem przez tunel ssh
Tamm
51

Wystąpił następujący błąd

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

Wypróbowałem kilka sposobów i w końcu rozwiązałem go w następujący sposób

sudo gksu gedit /etc/mysql/my.cnf

zmodyfikowany

#bind-address       = 127.0.0.1

do

bind-address        = localhost

i zrestartowałem

sudo /etc/init.d/mysql restart

zadziałało

AnupRaj
źródło
Miałem podobny problem; przeniesiono z Ethernetu (192.168.220.11) do Wi-Fi (192.168.220.12), ale na stałe przypisano adres do adresu IP sieci Ethernet. Zmienia się, aby localhostto naprawić.
Chris G
30

Upewnij się, że korzystasz z mysqld: /etc/init.d/mysql start

Zorayr
źródło
3
Lub sudo service mysql start|restartdla Ubuntu.
Wtower,
18

Aby zapobiec występowaniu problemu, należy wykonać płynne zamknięcie serwera z wiersza poleceń zamiast wyłączania serwera.

shutdown -h now

Spowoduje to zatrzymanie uruchomionych usług przed wyłączeniem zasilania maszyny.

Opierając się na Centos, dodatkową metodą przywrócenia go ponownie po napotkaniu tego problemu jest przeniesienie mysql.sock:

mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak

service mysqld start

Ponowne uruchomienie usługi tworzy nowy wpis o nazwie mqsql.sock

Ali Hashemi
źródło
14

Wystąpił ten błąd, gdy ustawiłem zadanie CRON dla mojego pliku. Zmieniłem uprawnienia do pliku na 777, ale nadal nie działało to dla mnie. Wreszcie mam rozwiązanie. Być może będzie to pomocne dla innych.

Spróbuj użyć tego polecenia:

mysql -h 127.0.0.1 -P 3306 -u root -p

Pamiętaj, że -h oznacza host , -P oznacza port, a -p oznacza hasło.

Doulat Khan
źródło
Wymuszanie połączenia przez TCP / IP zamiast używania gniazda jest nieefektywne (i wymaga włączenia obsługi TCP / IP hosta lokalnego na serwerze, zgodnie z wcześniejszą odpowiedzią ). Odpowiedź zaakceptowana z 2011 roku jest lepsza: Skonfiguruj serwer, aby można było poprawnie używać gniazda.
Quentin
10
-pnie oznacza portu , oznacza hasło , pomyliłeś je z-P
Quentin
To wydaje się być mniej więcej kopią tej wcześniejszej odpowiedzi
Quentin
Dla mnie było to tylko kwestia zdefiniowania właściwego hosta: mysql -h 127.0.0.1 -u root -p
kghbln
12

Jak wynika z wielu odpowiedzi tutaj, istnieje wiele problemów, które mogą powodować pojawienie się tego komunikatu o błędzie podczas uruchamiania usługi MySQL. Rzecz w tym, że MySQL ogólnie powie dokładnie, co jest nie tak, jeśli po prostu zajrzysz do odpowiedniego pliku dziennika.

Na przykład w Ubuntu powinieneś sprawdzić /var/log/syslog. Ponieważ wiele innych rzeczy może również logować się do tego pliku, prawdopodobnie chcesz użyć grepdo przeglądania wiadomości mysql i taildo przeglądania tylko najnowszych. Wszystko razem może wyglądać następująco:

grep mysql /var/log/syslog | tail -50

Nie wprowadzaj na ślepo zmian w konfiguracji, ponieważ ktoś inny powiedział: „To zadziałało w moim systemie”. Dowiedz się, co jest naprawdę nie tak z twoim systemem, a uzyskasz lepszy wynik znacznie szybciej.

matt2000
źródło
5
+1 Za zrobienie kroku wstecz i wskazanie czegoś, czego wiele innych odpowiedzi nawet nie bierze pod uwagę - że faktyczne zobaczenie, co aplikacja mogła zgłosić jako problem, jest znacznie lepszym podejściem niż ślepe pośpiechanie się i wprowadzanie zmian, które mogą nie nawet mieć zastosowanie ...!
SlySven,
Ach, więc używa źle .cnf. To wyjaśnia to. Teraz mogę przestać próbować losowych rzeczy i rozwiązać rzeczywisty problem. Dzięki.
Synetech
11

Innym obejściem jest edycja /etc/my.cnf i włączenie hosta w sekcji [klient]

 [client]
 #password       = your_password
 host            = 127.0.0.1
 port            = 3306
 socket          = /var/run/mysql/mysql.sock

A następnie zrestartowanie usługi mysql.

To obejście zostało przetestowane w: Wersja serwera: 5.5.25a-log Dystrybucja źródła

cień
źródło
dodanie sekcji [klient] jest zalecane, jeśli jeszcze nie jest w my.cnf
Cris
7

Miałem ten sam problem i został on spowodowany przez aktualizację sterowników mysql podczas działania serwera mysql. Naprawiłem to, restartując zarówno mysql, jak i apache2:

usługa sudo mysql stop

uruchomienie usługi sudo mysql

usługa sudo apache2 stop

usługa sudo apache2 start

fustaki
źródło
W moim przypadku mysqlnie działał. Pobiegłem sudo service mysql startpo uruchomieniu, sudo service mysql statusaby sprawdzić, czy nie działa.
Tass
6

W moim przypadku korzystałem z Centos 5.5. Odkryłem, że problem polegał na tym, że usługa mysql została w pewien sposób zatrzymana. Więc uruchomiłem usługę mysql z poleceniem:

 /etc/init.d/mysqld start

Więc ... głupi błąd.

Shyamkkhadka
źródło
6

Jeśli wszystko działało dobrze i właśnie zaczął się pojawiać ten błąd, zanim zrobisz cokolwiek innego, upewnij się, że nie brakuje miejsca na dysku:

df -h

Jeśli wolumin, w którym tworzony jest mysql.sock , jest w 100% wykorzystywany, MySql nie będzie w stanie go utworzyć i to będzie przyczyną tego błędu. Wszystko, co musisz zrobić, to usunąć coś, co nie jest potrzebne, na przykład stare pliki dziennika.

Derek Gogol
źródło
6

spróbuj z -h (host) i -P (port):

mysql -h 127.0.0.1 -P 3306 -u root -p

Ramil Mammadov
źródło
5
sudo service mysql start

To powinno ci dobrze służyć. Może istnieć możliwość zmiany niektórych poleceń, które wpłynęły na konfiguracje mysql.

Shimanyi
źródło
lub systemctl start mariadb.servicew Fedorze 22 lub RedHat 7. Następnie można ustawić hasło roota.
Junior Mayhé
5

Istnieje wiele rozwiązań tego problemu, ale w mojej sytuacji musiałem tylko skorygować DATĘ na komputerze / serwerze ( Ubuntu 16.04 Server ).

i) Sprawdź datę swojego serwera i popraw ją.

ii) Uruchom sudo /etc/init.d/mysql restart

To powinno zacząć.

Huey Mataruse
źródło
4

Wystąpił błąd, ponieważ uruchomiłem MAMP, a mój plik .sock znajdował się w innej lokalizacji. Właśnie dodałem symboliczny link w miejscu, w którym aplikacja powinna wskazywać, gdzie naprawdę jest i działał jak urok.

Devin Henkel-Legare
źródło
jak dodać symboliczny link tam, gdzie według aplikacji powinna być ta, która wskazywała na to, gdzie faktycznie była?
Gilberto Ibarra
4

Odkryłem również, że był to problem z uprawnieniami. Porównałem pliki MySQL z działającą instalacją (oba w squeeze na Debianie 6) i musiałem wprowadzić następujące zmiany własności (gdzie mydatabasemasz dowolną bazę danych).

Własność mysql:mysql:

chown mysql:mysql /var/lib/mysql
chown mysql:mysql /var/lib/mysql/ib*
chown mysql:mysql /var/lib/mysql/mydatabase
chown mysql:mysql /var/lib/mysql/mydatabase/*
chown mysql:mysql /var/lib/mysql/mysql/* 

Własność mysql:root:

chown mysql:root /var/lib/mysql/mysql
chown mysql:root /var/run/mysqld 

Własność mysql:adm:

chown mysql:adm /var/log/mysql
chown mysql:adm /var/log/mysql.err
chown mysql:adm /var/log/mysql.log* 
SharpC
źródło
4

Dla mnie - był to po prostu przypadek, że MySQL długo się ładował. Mam ponad 100 000 tabel w jednej z moich baz danych i ostatecznie się zaczęło, ale oczywiście w tym przypadku musi to zająć dużo czasu.

Antony
źródło
3

Jeśli używasz wersji AWS (Amazon Web Services) Micro, problem dotyczy pamięci. Kiedy pobiegłem

mysql

z terminala by powiedział

ERROR 2002 (HY000): Can't connect to local MySQL server through socket /var/run/mysqld/mysqld.sock' (111)

Więc wypróbowałem następujące i po prostu się nie powiedzie.

service mysqld restart

Po wielu poszukiwaniach odkryłem, że musisz utworzyć plik wymiany, aby MySQL miał wystarczającą ilość pamięci. Instrukcje są wymienione: http://www.prowebdev.us/2012/05/amazon-ec2-linux-micro-swap-space.html .

Następnie mogłem zrestartować mysqld.

jth_92
źródło
Miałem ten sam problem na wystąpieniu „mikro” serwera AWS i mogę potwierdzić, że dokonanie DID pliku wymiany naprawia „ERROR 2002 (HY000): Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo / var / run / mysqld / mysqld .sock „(111)” problem. Dziękuję @ jth_92!
Konaras,
3

zawsze możesz uruchomić serwer mysql, określając lokalizację pliku mysql.sock za pomocą --socketopcji podobnej

mysql --socket=/var/mysql/mysql.sock 

Działa to nawet wtedy, gdy lokalizacja pliku gniazda znajduje się w innej lokalizacji w pliku my.cnf.

David Okwii
źródło
3

Dla tych, których żadne rozwiązanie nie działa, spróbuj:

cd /etc/mysql

sprawdź, czy plik my.cnf jest obecny

nano my.cnf

i upewnij się, że masz tylko jeden adres powiązania w następujący sposób:

adres powiązania = 127.0.0.1

Jeśli nie, może to być problem, po prostu wyjdź z nano i zapisz plik.

i service mysql start

zwróć uwagę, że jeśli nie masz nano (jest to edytor tekstowy), po prostu zainstaluj go apt-get install nanoi po prostu naciśnij Ctrl + X, aby wyjść, nie zapomnij powiedzieć Y, aby zapisać i użyć tego samego pliku)

Jack M.
źródło
Niestety to nie zadziałało. To po prostu mówi, że tylko lokalna maszyna może uzyskać dostęp do mysql. Brak zdalnych połączeń.
stephen
3

Miałem ten problem również podczas próby uruchomienia serwera, więc wiele odpowiedzi tutaj, które mówią tylko o uruchomieniu serwera, nie zadziałało. Pierwszą rzeczą, którą możesz zrobić, to wykonać następujące czynności, aby sprawdzić, czy są jakieś błędy konfiguracji:

/usr/sbin/mysqld --verbose --help 1>/dev/null

Miałem jeden błąd, który się pojawił:

160816 19:24:33 [Note] /usr/sbin/mysqld (mysqld 5.5.50-0ubuntu0.14.04.1-log) starting as process 9461 ...
160816 19:24:33 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
160816 19:24:33 [Note] Plugin 'FEDERATED' is disabled.
160816 19:24:33 [ERROR] /usr/sbin/mysqld: unknown variable 'innodb-online-alter-log-max-size=4294967296'
160816 19:24:33 [ERROR] Aborting

Prosty grep -HR "innodb-online-alter-log-max-size" /etc/mysql/ pokazał mi dokładnie, który plik zawierał linię naruszającą, więc usunąłem tę linię z pliku.

Następnie, sprawdzając mój /var/log/mysql/error.logplik, miałem:

InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 671088640 bytes!
160816 22:46:46 [ERROR] Plugin 'InnoDB' init function returned error.
160816 22:46:46 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
160816 22:46:46 [ERROR] Unknown/unsupported storage engine: InnoDB
160816 22:46:46 [ERROR] Aborting

W oparciu o to pytanie zaakceptowane rozwiązanie nie zadziałałoby, ponieważ nie mogłem nawet uruchomić serwera, więc podążyłem za tym, co powiedziały niektóre komentarze i usunąłem moje /var/lib/mysql/ib_logfile0i /var/lib/mysql/ib_logfile1pliki.

Pozwoliło to na uruchomienie serwera i mogłem łączyć się i wykonywać zapytania, jednak po sprawdzeniu pliku dziennika błędów szybko zapełniłem się kilkadziesiąt tysięcy takich wierszy:

160816 22:52:15  InnoDB: Error: page 1415 log sequence number 82039318708
InnoDB: is in the future! Current system log sequence number 81640793100.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: for more information.

W oparciu o sugestię z tego miejsca , aby to naprawić, zrobiłem mysqldump i przywróciłem wszystkie bazy danych (patrz link kilku innych rozwiązań).

$ mysqldump -u root -p --allow-keywords --add-drop-database --comments --hex-blob --opt --quote-names --databases db_1 db_2 db_3 db_etc > backup-all-databases.sql
$ mysql -u root -p < backup-all-databases.sql

Wygląda na to, że wszystko działa teraz zgodnie z oczekiwaniami.

Mikrofon
źródło
Sprawdzanie /var/log/mysql/error.logpomogło w moim przypadku. Było to, [ERROR] Can't init tc logco zostało szybko naprawione przy użyciu następującej odpowiedzi: dba.stackexchange.com/a/185006/163583
Juraj.Lorinc
2

Dodawanie

--protocol=tcp 

do listy wózków dziecięcych w twoim związku działało dla mnie.

Barryred
źródło
2

To mi wystarczyło

sudo /etc/init.d/mysql restart
Vikram
źródło
2

Wpadłem dziś na ten problem. Żadna z tych odpowiedzi nie dała poprawki. Aby uruchomić usługę mysql, musiałem wykonać następujące polecenia (znajdujące się tutaj https://stackoverflow.com/a/20141146/633107 ):

sudo /etc/init.d/mysql stop
cd /var/lib/mysql/
ls ib_logfile*
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
... etc ...
/etc/init.d/mysql restart

Zostało to częściowo wskazane przez następujące błędy w /var/log/mysql/error.log:

140319 11:58:21 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 50331648 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
140319 11:58:21 [ERROR] Plugin 'InnoDB' init function returned error.
140319 11:58:21 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140319 11:58:21 [ERROR] Unknown/unsupported storage engine: InnoDB
140319 11:58:21 [ERROR] Aborting

Widziałem także błąd zapełnienia dysku, ale tylko podczas uruchamiania poleceń bez sudo. Jeśli sprawdzenie uprawnień nie powiedzie się, zgłasza, że ​​dysk jest zapełniony (nawet jeśli partycja nie jest jeszcze prawie pełna).

Splaktar
źródło
2

CentOS 7, 64-bitowy. Świeża instalacja.
W moim przypadku błąd był spowodowany tym, że nie miałem zainstalowanego odpowiedniego serwera MySQL i klienta MySQL.
Używając yum, usunąłem mariadbi mysql-edycja społeczności. Pobrałem rpm dla klienta i serwera z oficjalnej strony MySQL i zainstalowałem serwer i klienta.

Podczas instalacji serwera pokazano mi komunikat, że hasło do konta root dla MySQL było przechowywane w pliku, który mogłem przeglądać sudo cat /root/.mysql_secret.

Po zainstalowaniu klienta i serwera sprawdziłem, czy MySQL działa (myślę, że wcześniej to zrestartowałem) za pomocą polecenia sudo service mysql statusi otrzymałem wynik.

Uruchomiony MySQL (2601) [OK]

Zalogowałem się do MySQL za pomocą hasła z pliku .mysql_secret:
mysql -uroot -pdxM01Xfg3DXEPabpf. Zauważ, żedxM01Xfg3DXEPabpf jest to hasło wymienione w pliku .mysql_secret.

a następnie wpisał następujące polecenie w wierszu polecenia mysql, aby zmienić hasło użytkownika root:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('somePassword');

Od tej pory wszystko działało dobrze.

Nav
źródło
1
ten sam przypadek na RHEL6U6 z wersją serwerową: 5.6.23-Enterprise-Commercial-Advanced.
HCD
2
sudo service mysqld start

Pracował dla mnie, używam Centos

ikuchris
źródło
2

To nie odpowiada bezpośrednio na twoje pytanie, ale na jego podzbiór, a mianowicie za pomocą PythonAnywhere. Ciągle natknąłem się na to pytanie, szukając poprawki, więc dodam ją tutaj w nadziei, że pomoże to innym w mojej sytuacji.


PythonAnywhere zdecydował się zmienić nazwy hostów połączeń z bazą danych w celu zwiększenia wydajności i niezawodności, jak wyszczególniono tutaj :

Oficjalna nazwa hosta należy użyć do podłączenia do konta użytkownika bazy danych MySQL przykład zmieniła od mysql.server aby Twoja nazwa użytkownika .mysql.pythonanywhere-services.com . To omija część naszej infrastruktury, która zaczęła wykazywać problemy w ostatnich tygodniach, i powinna być znacznie bardziej wydajna i niezawodna niż dawniej.

Dlatego musisz zaktualizować nazwę hosta do wartości wyróżnionej powyżej.

Vlad Schnakovszki
źródło
1

Miałem ten błąd gniazda i zasadniczo sprowadzało się to do tego, że MySQL nie działał. Jeśli uruchomisz nową instalację, upewnij się, że zainstalowałeś 1) pakiet systemowy i 2) instalator panelu (mysql.prefPane). Instalator panelu pozwoli ci przejść do Preferencji systemowych i otworzyć MySQL, a następnie uruchomić instancję.

Pamiętaj, że przy nowej instalacji musiałem zresetować komputer, aby zmiany odniosły skutek. Po ponownym uruchomieniu uruchomiłem nową instancję i bez problemu mogłem otworzyć połączenie z hostem lokalnym.

Warto również zauważyć, że najwyraźniej miałem wcześniejsze wersje MySQL, ale usunąłem panel, co ułatwia uruchomienie instancji MySQL dla użytkowników komputerów Mac.

Dobry link do tego procesu ponownej instalacji: http://www.coolestguyplanettech.com/how-to-install-php-mysql-apache-on-os-x-10-6/

tandy
źródło