Serwer MySQL skonfigurowany na localhost - jak go uzewn

Konfiguracja serwerów, usług, itp.
sq2wkj
Posty: 26
Rejestracja: 16 kwietnia 2010, 14:21

Serwer MySQL skonfigurowany na localhost - jak go uzewnętrznić?

Post autor: sq2wkj »

Witam.
Mam taki problem...
Dwa komputery na jednym z nich uruchomiony serwer Apache2 i skonfigurowany tak, że jest widoczny w sieci na zewnątrz (Internet).
Drugi komputer - serwer baz danych MySQL zainstalowany poleceniem:

Kod: Zaznacz cały

apt-get install mysql-server-5.0
skonfigurowany na localhost (innej możliwości nie było przynajmniej w instalatorze podawałem tylko hasło roota).
Moje pytanie brzmi, jak mogę zrobić aby serwer mysql był również widoczny w sieci internet na standardowym porcie 3306?
Serwer www przy użyciu aplikacji w php ma się z łączyć z serwerem mysql, ale do mysql nie mam przypisanego adresu IP.
Proszę o pomoc, jeżeli był już taki temat to przepraszam ale nie znalazłem. Proszę ewentualnie o odnośnik do niego.
Pozdrawiam.
Piotr
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

W pliku konfiguracyjnym zmień opcję bind-address.
sq2wkj
Posty: 26
Rejestracja: 16 kwietnia 2010, 14:21

Post autor: sq2wkj »

Po wpisaniu adresu IP zewnętrznego dla bind-address, serwer bazy danych nie startuje. A to wyciąg z syslogda:

Kod: Zaznacz cały

May 15 22:14:01 debian /etc/init.d/mysql[6734]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
May 15 22:14:01 debian /etc/init.d/mysql[6734]: #007/usr/bin/mysqladmin: connect to server at 'localhost' failed
May 15 22:14:01 debian /etc/init.d/mysql[6734]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
May 15 22:14:01 debian /etc/init.d/mysql[6734]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
May 15 22:14:01 debian /etc/init.d/mysql[6734]:
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Sprawdź tak:

Kod: Zaznacz cały

bind-address = 0.0.0.0
i zobacz; http://www.howtoforge.com/forums/archiv ... t-698.html
kaworu
Posty: 72
Rejestracja: 05 lutego 2009, 20:20

Post autor: kaworu »

Ewentualnie postaw # przed bind-address, szczerze mówiąc nie wiem czy to zadziała bo nigdy nie miałem potrzeby wystawiać mysql na świat.
sq2wkj
Posty: 26
Rejestracja: 16 kwietnia 2010, 14:21

Post autor: sq2wkj »

Zarówno

Kod: Zaznacz cały

bind-address = 0.0.0.0
jak i # przed bind-address działają tak samo.

Oto fragment wydruku netstat dotyczący serwera MySQL:

Kod: Zaznacz cały

debian:~# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN
Przykładowo stawiam sobie CMS Joomla na serwerze www, przy stronie konfiguracji bazy danych podaję adres IP serwera bazy danych, nazwę użytkownika i hasło oraz nazwę bazy danych - wszystko stworzone, a użytkownik w host ma % - czyli dowolny, a połączyć się nie można?
jakieś sugestie?
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Serwer WWW blokuje 3306?
sq2wkj
Posty: 26
Rejestracja: 16 kwietnia 2010, 14:21

Post autor: sq2wkj »

A jak to sprawdzić?

W porządku już, do zamknięcia dziękuję za pomoc!
Dodatkowo do tego co podpowiadali koledzy należy:
zmienić granty i zresetować serwer bazy danych...

Kod: Zaznacz cały

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
> IDENTIFIED BY 'haslo dla zdalnego roota' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
Pozdrawiam
ODPOWIEDZ