2011-04-28 22 views
5

Soy bastante principiante cuando se trata de trabajar con redes y similares, así que me disculpo por adelantado. Hace un tiempo, establecí una base de datos mySQL localmente en mi máquina y he creado varios programas simples que funcionan con ella. (también conocido como root: tipo de cosa localhost). Esto ha sido genial, pero ahora espero permitir que otros colegas en mi trabajo accedan a la base de datos desde sus máquinas, pero no tengo idea de cómo.Conexión a la base de datos MySQL en el servidor

Es probable que haya algunos problemas de protección de red (firewalls, etc.), por lo que es posible que deba tenerse en cuenta ... (aunque tengo la ayuda de TI, ni TI ni yo sabemos realmente lo que se requiere para 'conectarse 'a la base de datos).

Por ejemplo, ¿solo necesito un IP? ¿Debo cambiar la configuración de mi base de datos? Entiendo que localhost no funcionaría desde la computadora de mis colegas, por razones obvias, no tengo idea de qué iría en su lugar para que otros puedan acceder a ella.

Tampoco me molesta que mi máquina funcione como la máquina de base de datos dedicada ... No podría ejecutarla desde un servidor dedicado o algo así, más allá de mi máquina.

¡Cualquier ayuda sería muy apreciada! Gracias

EDIT: Gracias por las sugerencias, ¡las revisaré mañana cuando esté un poco más despierto! Se ven sólidos sin embargo.

Respuesta

3

En primer lugar, lo que sus colegas son:

  • La dirección IP donde el servidor MySQL es ejecución.
  • de usuario y contraseña para conectarse remotamente
  • tener el puerto 3306 abierto en la red
  • Un cliente MySQL (MySQL Workbench, MySQL Query Browser, sapo, Heidi o simplemente la herramienta de línea de comandos).

Cuando se crea el usuario en MySQL el tener que ser algo como esto:

'root'@'localhost' 

Eso quiere decir, que el usuario va a funcionar si se conecta desde localhost por el usuario root. Por lo tanto, puede crear usuarios a los que se les permita conectarse desde cualquier lugar:

'juanperez'@'%' 

Y, por último, tenga cuidado con los privilegios que les otorga. No olvides comentar una línea en el archivo de opciones de MySQL que dice "bind-address" (esta opción evita la conexión remota).

+0

Cool - muchas gracias. Le dará una oportunidad mañana. Puerto 3306 eh ..... Veremos eso. – keynesiancross

4

Por ejemplo, ¿solo necesito un IP?

Sí. Serás mucho más feliz si configuras los nombres de dominio adecuados, pero un nombre de dominio es solo un alias para la dirección IP.

¿Debo cambiar la configuración de mi base de datos?

No, pero ... Debe agregar algunas credenciales de usuario para admitir inicios de sesión remotos. Eso es un cambio, pero no un cambio en un esquema. Son cambios a los permisos.

Entiendo que localhost no funcionaría desde la computadora de mis colegas, por razones obvias, no tengo idea de lo que iría en su lugar para que otros puedan acceder a él.

¿Qué herramientas de MySQL Admin está utilizando? A menudo hay una buena ayuda allí.

Usted debe leer esto: http://dev.mysql.com/doc/refman/4.1/en/connecting.html

o esto: http://dev.mysql.com/doc/refman/5.0/en/connecting.html

Para cualquier versión es la adecuada.

Está muy claro.

Un usuario se identifica con un nombre de usuario @ hostname. Puede especificar direcciones IP (o incluso "%" para el nombre de host.

+0

Gracias - les dará una mirada mañana – keynesiancross

2

Que va a utilizar la siguiente orden para conectar -

mysql -u<user-id> -p<password> -h<your-hostname-or-ipaddress> 

Para las aplicaciones que se ejecutan en máquinas diferentes que tratan de conectarse a la base de datos, única necesidad de reemplazar 'localhost' con el nombre de host o dirección ip de la máquina.

En general, si puede hacer ping a su máquina desde un sistema diferente, su base de datos se puede conectar desde esa máquina, solo use el nombre que utilizó para 'pinging' en lugar de localhost.

+1

¡Gran respuesta! Sin embargo, faltaba una pieza para mi rompecabezas. mysql -u -p -h --port si está ejecutando en un puerto no estándar. Tu respuesta me ayudó a llegar la mayor parte del camino hasta allí. Gracias. –

Cuestiones relacionadas