|
Serwer MySQL skonfigurowany na localhost - jak go uzewnętrznić?
sq2wkj - 15-05-2010 13:25
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:
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
grzesiek - 15-05-2010 14:42
W pliku konfiguracyjnym zmień opcję bind-address.
sq2wkj - 15-05-2010 22:12
Po wpisaniu adresu IP zewnętrznego dla bind-address, serwer bazy danych nie startuje. A to wyciąg z syslogda:
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]:
grzesiek - 15-05-2010 23:01
Sprawdź tak:
bind-address = 0.0.0.0
i zobacz; http://www.howtoforge.com/forums/arc...php/t-698.html
kaworu - 15-05-2010 23:48
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 - 16-05-2010 11:17
Zarówno
bind-address = 0.0.0.0
jak i # przed bind-address działają tak samo.
Oto fragment wydruku netstat dotyczący serwera MySQL:
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?
grzesiek - 16-05-2010 13:24
Serwer WWW blokuje 3306?
sq2wkj - 16-05-2010 14:20
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...
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' > IDENTIFIED BY 'haslo dla zdalnego roota' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES;
Pozdrawiam
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|