Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-01-22 14:39:26

  Contravene - Użytkownik

Contravene
Użytkownik
Zarejestrowany: 2006-08-07

Dostęp do zdalnego MySQL używając adresu localhost

Mam na komputerze uruchomiony serwer MySQL (do zastosowań lokalnych), system to Windows 7. W VirtualBoksie działa mi Debian Testing. Chciałbym, aby możliwe było połączenie z bazą danych z poziomu VirtualBoksa, ale używając do tego adresu localhost (to bardzo ważne). Jak można to zrobić? Próbowałem z mysql-proxy, ale bez powodzenia.

Pozdrawiam,
Contravene

Offline

 

#2  2012-01-22 15:34:37

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Dostęp do zdalnego MySQL używając adresu localhost

localhost czy 127.0.0.1?

Cytując dokumentację:

On Unix, MySQL programs treat the host name localhost specially, in a way that is likely different from what you expect compared to other network-based programs. For connections to localhost, MySQL programs attempt to connect to the local server by using a Unix socket file. This occurs even if a --port or -P option is given to specify a port number.[/quote]
Czyli raczej mało realne...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#3  2012-01-23 12:57:55

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: Dostęp do zdalnego MySQL używając adresu localhost

można by to zrobić za pomocą iptables i nat
coś w stylu
iptables -t nat -A PREROUTING -d 127.0.0.1 --dport mysql -p tcp -j DNAT --to adresip:port
iptables -t nat -A POSTROUTING -s adresip --sport port -p tcp -j SNAT --to 127.0.0.1:mysql

Między dwoma linuksami nie kombinuję, tylko robię szyfrowany tunel za pomocą stunnel4.

Ostatnio edytowany przez bobycob (2012-01-23 13:11:31)

Offline

 

#4  2012-01-23 13:01:07

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Dostęp do zdalnego MySQL używając adresu localhost

Twierdzisz, że unix socket przekierujesz za pomocą iptables na inet socket? Ciekawa teoria...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#5  2012-01-23 13:13:24

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: Dostęp do zdalnego MySQL używając adresu localhost

Przecież localhost to nie tylko unix socket , łączę jak dopisałem przed chwilę w poście maszyny linuksowe za pomocą stunnel ze sobą. W taki sposób, że program odwołujący się do portu mysql jest tunelowany do maszyny rzeczywiście obsługującej zapytanie. Oczywiście, jeśli program nie działa po tcp może być problem, jednak praktycznie wszystkie mogą pracować po tcp.

Ostatnio edytowany przez bobycob (2012-01-23 13:19:03)

Offline

 

#6  2012-01-23 14:53:25

  Contravene - Użytkownik

Contravene
Użytkownik
Zarejestrowany: 2006-08-07

Re: Dostęp do zdalnego MySQL używając adresu localhost

Z tego co zrozumiałem, to mysql-proxy służy przede wszystkim jako load balancer dla zreplikowanych baz danych. Skoro nie mogę przekierować localhosta na inny adres, to czy oznacza to, że mysql-proxy nie może być zainstalowany na środowisku z aplikacją, ale potrzebuje odrębnego serwera?

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.015 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00017 SET CHARSET latin2
0.00011 SET NAMES latin2
0.00235 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.191.22' WHERE u.id=1
0.00148 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.191.22', 1714664862)
0.00070 SELECT * FROM punbb_online WHERE logged<1714664562
0.00075 SELECT topic_id FROM punbb_posts WHERE id=191342
0.00142 SELECT id FROM punbb_posts WHERE topic_id=20460 ORDER BY posted
0.00099 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=20460 AND t.moved_to IS NULL
0.00009 SELECT search_for, replace_with FROM punbb_censoring
0.00126 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=20460 ORDER BY p.id LIMIT 0,25
0.00122 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=20460
Total query time: 0.01054 s