OVH Community, your new community space.

Conexión a bd en dedicado


Raikkon
12/08/2008, 16:32
Aquí dicen como hacer un túnel SSH:

http://www.e-ghost.deusto.es/docs/articulo.ssh.html

ArteDark
12/08/2008, 13:41
Tema solucionado.
Resulta que me faltaba esta linea en el php.ini de mi local:

extension=php_mysql.dll

Para matarme, lo sé. Disculpar :P
Por cierto si alguien a pesar de todo esto sigue teniendo problemas para conectar, que compruebe que tiene la librería instalada en el system 32.

Un saludo!

ArteDark
12/08/2008, 12:02
Bien, parece que vamos avanzando.
He creado esta línea bind-address a 0.0.0.0
Seguidamente desde cmd he puesto telnet miip 3306 y efectivamente el puerto ya está abierto desde cualquier máquina, aún así... sigue sin conectar. GRRR!

Raikkon
12/08/2008, 11:27
Un túnel ssh para conectar al MySQL... interesante...

Si se conjuga con dejar acceso al puerto 3306 solo a nuestro ordenador remoto, sería genial.

azazels
12/08/2008, 10:51
Cita Publicado inicialmente por JarFil
Para acceder desde fuera, necesitas una de estas:
  • cambiar bind-address a la IP de la máquina
  • cambiar bind-address a 0.0.0.0
  • no bloquear en el firewall el puerto del mysql (3306 por defecto)
  • acceder al mysql a través de un túnel ssh (o ipsec si se tercia)

Desde el punto de vista de seguridad+comodidad, recomendaría usar lo del túnel ssh. IPSec puede ser una paliza de configurar si es sólo para una tontería, y la opción de dejar bind-address abierto de par en par a todo internet es bastante poco recomendable (nada como un ataque por fuerza bruta). Como mínimo, sería bueno filtrar todo el tráfico al puerto 3306 en el firewall (iptables) dejando acceso sólo desde la máquina remota que se vaya a usar... aunque, existiendo la posibilidad del IP spoofing, es mejor tener el tráfico cifrado y dejarse de líos.
estoy de acuerdo, creo que lo mejor es crear un tunel ssh. Alguien me puede indicar como crear ese tunel?

he estado mirando páginas pero no me ha quedado muy claro y en ovh no he visto ninguna guia para ello.

gracias

JarFil
12/08/2008, 10:12
Para acceder desde fuera, necesitas una de estas:
  • cambiar bind-address a la IP de la máquina
  • cambiar bind-address a 0.0.0.0
  • no bloquear en el firewall el puerto del mysql (3306 por defecto)
  • acceder al mysql a través de un túnel ssh (o ipsec si se tercia)

Desde el punto de vista de seguridad+comodidad, recomendaría usar lo del túnel ssh. IPSec puede ser una paliza de configurar si es sólo para una tontería, y la opción de dejar bind-address abierto de par en par a todo internet es bastante poco recomendable (nada como un ataque por fuerza bruta). Como mínimo, sería bueno filtrar todo el tráfico al puerto 3306 en el firewall (iptables) dejando acceso sólo desde la máquina remota que se vaya a usar... aunque, existiendo la posibilidad del IP spoofing, es mejor tener el tráfico cifrado y dejarse de líos.

ArteDark
12/08/2008, 08:22
Cita Publicado inicialmente por icenrg
Exacto como bien dice Marcos sin comentar esa linea es imposible conectarse desde el exterior al servidor, fallo mio que no me acorde antes de decírtelo, sorry, yo lo hice al principio y ya lo tenia olvidado.
Pues parece ser que está todo correcto y me sigue dando problemas.

# security:
# using "localhost" in connects uses sockets by default
#skip-networking
bind-address = 127.0.0.1

log-bin
server-id = 1

Volveré a revisar esta noche los datos de conexión, pero me parece muy raro, ya os digo que desde producción me funciona todo correctamente, por lo tanto cuando intento enganchar desde local el problema es la ruta del servidor o que no está bien configurado para acceder desde fuera.

Raikkon
12/08/2008, 07:09
Hola.

¿No representa un gran problema de seguridad permitir conexiones externas comentando el skip-networking? Aunque de todas formas, si solo permite las de nuestro ordenador personal...

Azazels: me imagino que será porque tu usuario no tiene privilegio de ver la base de datos que buscas. Creo que podrás solucionarlo facilmente dándole privilegios a tu usuario entrando a MySQL con root (el del server no, el del mysql) a través de la línea de comandos/terminal. En breve te pongo una dirección, que acabo de levantarme y no me entero de ná, lo siento.

azazels
12/08/2008, 01:07
holas!

estoy intentando seguir el manual "Connexion Distante a MySQL" pero me pierdo en el punto de "Configuración de los privilegios MySQL"

he entrado en el phpmyadmin con la contraseña de admin pero no tengo mas que la tabla "information_schema (17)" y no se que debo hacer...

alguien me ilumina?

gracias!!!

icenrg
24/06/2008, 11:01
Exacto como bien dice Marcos sin comentar esa linea es imposible conectarse desde el exterior al servidor, fallo mio que no me acorde antes de decírtelo, sorry, yo lo hice al principio y ya lo tenia olvidado.

MarcosBL
23/06/2008, 21:24
Comentarla permite conectarse al servidor MySQL desde fuera de la misma máquina, si la dejas no podrás acceder directamente al servidor MySQL desde tu casa, por ejemplo.

ArteDark
23/06/2008, 13:22
Y comentar esa linea para que sirve exactamente Ice?

icenrg
21/06/2008, 21:13
Supongo que lo habrás probado poniendo en el script de conexión
Código:
$servidor = "tudominio.com"
no $servidor = "http://tudominio.com" ya que esto ultimo no seria correcto.
Yo lo he probado así con alguna base de datos en remoto y me funciona, ya si es otra cosa no te se decir.

Un script de conexión en php usado como include seria algo así:
Código:
Sin http:// o incluso con tu ip:
Código:
Prueba a subirlo así a la web y ver si funciona, a ver si el fallo es por conectar en remoto. Por cierto comprueba que en phpMyAdmin hayas modificado el mismo usuario que estés usando para conectar.

Edito: Fallo mio (garrafal), se me olvido decirte que debes de editar desde ssh el archivo: /etc/mysql/my.cnf
Código:
nano /etc/mysql/my.cnf
y ver si tienes la linea skip-networking si es así debes comentarla poniendo # delante y reiniciar mysql con
Código:
/etc/init.d/mysql stop
/etc/init.d/mysql start

ArteDark
21/06/2008, 18:15
He probado lo que me has dicho pero sigo en las mismas, llamaré el lunes a soporte y a ver que dicen. Cuando me den una solución la postearé aquí para que todos seamos conocedores de ello.
Sobre el tema de acentos... mmmmmm a ver que se me ocurre.

Gracias Ice.

icenrg
21/06/2008, 18:08
Cita Publicado inicialmente por ArteDark
Hola de nuevo, perdona la demora. Vamos a ver, he hecho lo que me has dicho en la bd y seguidamente en la varieable de servidor le meto como valor en vez de localhost... $servidor = "http://miNumeroDeServidor"; y nada también he probado con $servidor = "miNumeroDeServidor"; y tampoco. Si lo dejo como localhost y lo subo por ftp, al poner en nombre de dominio, funciona correctamente. Por lo tanto está claro que el error está a la hora de llamar al servidor desde local. ¿Alguna otra sugerencia?

Ya que estamos, otro tema que me está volviendo loco. He isntalado varias plataformas joomla y la bd funciona correctamente al insertar acentos y Ñ, pero ahora estoy desarrollando un proyecto a medida y al crear la bd, sea cual sea el cotejamiento que le doy, si saco por pantalla contenido de esta con acentos o Ñ en firefox me saca rombos con ? dentro, en cambio en iexplorer perfecto. Si a la cadena de texto le aplico la función utf8_encode, cambias las cosas... firefox perfecto y ahora me falla iexplorer jejejje... ¿ideas?

Gracias!
prueba con
Código:
$servidor = "tudominio.com"
La otra cuestión ni idea, como seguro no te dará problemas es poniendo los acentos como los pondrías en código html.

ArteDark
21/06/2008, 17:52
Hola de nuevo, perdona la demora. Vamos a ver, he hecho lo que me has dicho en la bd y seguidamente en la varieable de servidor le meto como valor en vez de localhost... $servidor = "http://miNumeroDeServidor"; y nada también he probado con $servidor = "miNumeroDeServidor"; y tampoco. Si lo dejo como localhost y lo subo por ftp, al poner en nombre de dominio, funciona correctamente. Por lo tanto está claro que el error está a la hora de llamar al servidor desde local. ¿Alguna otra sugerencia?

Ya que estamos, otro tema que me está volviendo loco. He isntalado varias plataformas joomla y la bd funciona correctamente al insertar acentos y Ñ, pero ahora estoy desarrollando un proyecto a medida y al crear la bd, sea cual sea el cotejamiento que le doy, si saco por pantalla contenido de esta con acentos o Ñ en firefox me saca rombos con ? dentro, en cambio en iexplorer perfecto. Si a la cadena de texto le aplico la función utf8_encode, cambias las cosas... firefox perfecto y ahora me falla iexplorer jejejje... ¿ideas?

Gracias!

icenrg
21/06/2008, 13:57
Cita Publicado inicialmente por ArteDark
buah, sigo estando super perdido, disculpa icering, pero puedes detallarme un poco mas. ¿Pongo en el navegador https://sql.midominio.com? No me carga nada.
Disculpa mi falta de experiencia.
Gracias!
http://sql.tudominio.com no le pongas la s eso es para un servidor seguro, te funcionara siempre y cuando utilices webmin (sino me equivoco creo recordar que si) y le hayas creado una base de datos a ese dominio, otro acceso es (también si usas webmin) http://ksxxxx.kimsufi.com/phpmyadmin/ siendo las x el nº de tu servidor
Dime si te funciona, ok?

PD: es icenrg ice de hielo y nrg (energy en ingles)

ArteDark
21/06/2008, 13:43
buah, sigo estando super perdido, disculpa icering, pero puedes detallarme un poco mas. ¿Pongo en el navegador https://sql.midominio.com? No me carga nada.
Disculpa mi falta de experiencia.
Gracias!

icenrg
21/06/2008, 13:37
Cita Publicado inicialmente por ArteDark
Me puedes indicar como hacerlo o donde ver una guía de ello?
sql.tudominio.com (vale cualquier dominio al que le hayas creado BD) entras como root y te vas a 'privilegios' editas el usuario y en servidor seleccionas 'cualquier servidor', te marcara %

ArteDark
21/06/2008, 13:25
Me puedes indicar como hacerlo o donde ver una guía de ello?

icenrg
21/06/2008, 13:23
Tendrás que darle permisos para poderte conectar desde el exterior.

ArteDark
21/06/2008, 12:45
si, pero solo con la ip no va.

Ferny
21/06/2008, 12:43
¿Probaste ya con la dirección ip?

ArteDark
21/06/2008, 12:09
Hola, vuelvo a necesitar vuestra ayuda, quiero conectar desde local, es decir desde mi pc de casa a una base de datos de mi servidor. La verdad es que no se que ruta he de insertar para que me identifique el servidor.

¿Alguien me puede la puede facilitar?
Gracias!