Strona 1 z 2

[+] serwer mysql i www połączone w jeden

: 29 sierpnia 2010, 16:30
autor: centertel
Witam.
Mam dwa serwery IBM eserver Xseries. Zainstalowałem na nich Lennego i chciałbym aby jeden służył do samych baz danych, a drugi aby służył do hostingu www. Jednak nie wiem jak uzyskać połączenie do bazy danych.

Na serwerze z bazami danych zrobiłem bazę danych i użytkownika, który ma wszystkie uprawnienia do niej. Chcę zainstalować na serwerze www np. joomlę. Wpisuję adres serwera 192.168.40.229- bo to IP serwera mysql, wpisuję nazwę bazy i hasło i pojawia się komunikat, że nie może się połączyć. Oczywiście w phpmyadminie jest, że można z dowolnego hosta się łączyć ale nie działa to.

Przejrzałem wiele wpisów na forum i nie moglem się doszukać jak coś takiego zrobić. Pewnie popełniam gdzieś jakiś bzdurny błąd. Bardzo proszę zlitujcie się nad świeżakiem i pomóżcie.

Z góry dziękuję.

: 29 sierpnia 2010, 23:47
autor: lakiluk
Nie wiem, nie wiem... Standardowo sprawdź na spokojnie czy w ogóle MySQL działa i nasłuchuje na porcie 3306. Sprawdzenie typu:

Kod: Zaznacz cały

ps axf | grep mysql
albo:

Kod: Zaznacz cały

netstat -ntpl | grep mysql
Kolejno, czy nie masz firewalla włączonego na jednym i na drugim serwerze. No i na koniec - po sprawdzeniu uprawnień w bazie, czy są takowe - sprawdź połączenie zwykłym klientem MySQL: lokalnie na bazie:

Kod: Zaznacz cały

mysql -u użytkownik -p
oraz od strony serwera www no bo to on ma się dostawać do bazy:

Kod: Zaznacz cały

mysql -h 192.168.40.229 -u użytkownik -p
albo nawet można się spróbować przez telnet na port 3306.

:icon_arrow: No i wklej coś, jaki masz komunikat jak się łączysz i nie działa.

: 30 sierpnia 2010, 00:26
autor: kaworu
Mysql standardowo nie pozwala na łączenie się ze zdalnych hostów. Opcja w konfigu

Kod: Zaznacz cały

bind-address =127.0.0.1
, zmień IP na swoje i powinno działać :)

: 30 sierpnia 2010, 09:08
autor: Pacek
Tak jak napisał kaworu, jednak chcę trochę uzupełnić jego wypowiedź bo może być różnie interpretowana. Chodzi o:
zmień IP na swoje i powinno działać
Tak więc, chodzi tu o IP zewnętrze (lub lepiej LAN-owe, jeżeli serwer z MySQL i z Apache są razem w sieci LAN), jakie ma serwer z zainstalowanym MySQL-em.

: 30 sierpnia 2010, 18:49
autor: centertel
Zainstalowałem od nowa system bo chciałem inaczej ustawić partycje. Zmieniłem IP w pliku my.conf i wyskakuje błąd:

Kod: Zaznacz cały

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2). 
Z tego co widzę to phpmyadmin też się nie chce uruchomić, instalowałem serwer za pomocą poleceń:

Kod: Zaznacz cały

apt-get install mysql-server mysql-client mysql-common phpmyadmin
Coś jest nie tak i już nie mam pomysłu, co to może być. Wiem, że serwer w ogóle nie startuje bo wyświetla błąd przy starcie bibliotek - podczas uruchamiania.

Kod: Zaznacz cały

srv2:/home/usersrv2# /etc/init.d/mysql start
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

: 30 sierpnia 2010, 18:58
autor: lessmian2
Boże, widzisz i nie grzmisz. Gdzie ten komunikat błędu się pojawia? Przeczytałeś go ze zrozumieniem? Sprawdziłeś logi? Nie podałeś żadnych informacji na podstawie których możemy Ci pomóc.

PS.
Po polsku pisze się SERWER, przez 'w', nie przez 'v'. Przepraszam, ale strasznie mnie to drażni ;)

: 30 sierpnia 2010, 19:17
autor: centertel

Kod: Zaznacz cały

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2).
Ten błąd pojawia się jak chcę się zalogować do phpmyadmin.

Podczas uruchamiania systemu jest:

Kod: Zaznacz cały

starting mysql serer .   .    .   .   .    . failed!
===============================================================
srv2:/home/usersrv2# /etc/init.d/mysql start
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!  [B]<= to mi sie pojawia jak wpisuje w konsoli[/B]
===============================================================
[B]Błąd[/B]

 #2002 - Serwer nie odpowiada (lub gniazdo lokalnego serwera MySQL nie jest skonfigurowane poprawnie)

Jak chcę się jako root zalogować to to co wyżej widzę. Tam gdzie powinien być ten ,,socket'' to nie ma tego pliczku

Wykonałem to co powyżej radziliście:

Kod: Zaznacz cały

ps axf | grep mysql  
 3518 pts/1    S+     0:00                  \_ grep mysql

: 30 sierpnia 2010, 20:28
autor: lessmian2
Pokażesz łaskawie co jest w logu MySQLa? To, że przy starcie dostajesz failed już widzieliśmy. A jeśli nie masz pliku logu to go włącz w konfiguracji MySQLa - parametr się zwie log ;)

: 30 sierpnia 2010, 20:43
autor: lakiluk
centertel, chodzi o to, że MySQL ci nie wystartował (komunikat ,,FAILED'', a na liście procesów polecenia ,,ps'' nie widać MySQL-a, brakuje gniazda mysqld.sock) tak że możesz zaprzestać się logować. Zobacz (i wklej) plik logu serwera mysql.log albo error.log (przepraszam w tej chwili nie mam dostępu do komputera żeby sprawdzić nazwę, zaraz mnie ktoś najwyżej poprawi.

: 30 sierpnia 2010, 23:56
autor: centertel
Przeinstalowałem po raz kolejny system. Okazało się, że wpisanie IP w ,,bind adress'' wywala startowanie serwera, jeśli wpisałem to co było wcześniej, czyli 127.0.0.1 to startował. Wyczytałem, że można wpisać zamiast tego, same zera 0.0.0.0 i to pomogło.
Teraz uzyskałem połączenie i cms łączy się z bazą danych.

Bardzo dziękuję Wam za podpowiedzi.