Permitir conexiones remotas a MySQL de manera gráfica

Para permitir conexiones remotas a nuestro servidor de base de datos () en GNU/Linux, de manera gráfica lo podemos hacer desde el Administrador de ( Administrator)

Para instalarlo en o , basta hacer:

$ sudo apt-get install mysql-admin

En :

$ sudo pacman -Sy mysql-gui-tools

Una vez instalado lo iniciamos desde terminal haciendo:

$ mysql-admin

Ó en el caso de ArchLinux:

$ mysql-administrator

Con MySQL-Administrator podremos crear bases de datos (esquemas), crear tablas, exportar datos, importar datos, hacer copias de seguridad, restaurar copias, …

MySQL-Administrator

MySQL-Administrator

En el cual llenaremos los datos que corresponden con nuestro usuario, en nuestro caso el servidor esta en localhost (la misma maquina) y es el usuario root. Al final ponemos la contraseña de dicho usuario.

Una vez que nos hallamos loogeado, nos aparecerá esta otra pantalla:

MySQL-Administrator

MySQL-Administrator

Escogemos la pestaña “Startup Parameters” y ahí desmarcamos la opción “Disable Networking” y damos click en “Save Changes

MySQL Administrator

MySQL Administrator

Como se puede observar en la parte inferior de la ventana anterior nos indica la ubicación y el nombre del fichero de configuración que también se puede modificar manualmente: /etc/mysql/my.cnf, abriendo este fichero y comentando la línea “skip-networking“, es decir, añadiendo “#” delante produciremos el mismo efecto que haciéndo en MySQL Administrator.
Reiniciaremos MySQL Server (para que los cambios tengan efecto) con el comando:

$ sudo /etc/init.d/mysql restart

Introduciremos los datos de conexión remoto (host, usuario y contraseña) y accederemos a la ventana de MySQL Administrator, seleccionaremos la opción “User Administration“, luego pulsaremos con el botón derecho sobre cualquier usuario, en esta caso lo hacemos sobre el usuario “root” , nos aparecerá un menú emergente y seleccionaremos la opción “Add Host“:

MySQL Administrator

MySQL Administrator

En la ventana de “Add Host” marcaremos la opción “Hostname or IP” e introduciremos la IP del PC al que queramos permitirle el acceso remoto (admite comodines, por ejemplo 192.168.1.%) y pulsaremos “OK“:

MySQL Administrator

MySQL Administrator

Por último, accederemos a la pestaña “Schema Privileges” para especificar a qué bases de datos tendrá acceso el usuario y qué permisos tendrá sobre las mismas, para ello marcaremos en “Schema” la base de datos a la que queramos permitir el acceso y en “Available Privileges” marcaremos las acciones permitidas sobre la base de datos:

MySQL Administrator

MySQL Administrator

A continuación pulsaremos el botón con una flecha a la izquierda (Grant Privilege) y los privilegios seleccionados pasarán a la columna “Assigned Privileges“. Para guardar los cambios pulsaremos en “Apply Changes“.
Con esto habremos terminado de configurar MySQL Server para el acceso tanto local (desde la propia máquina donde está instalado) como remoto (desde equipos de la red local o, incluso equipo de fuera de la red local).

Será conveniente reiniciar otra vez MySQL Server con el comando:

$ sudo /etc/init.d/mysql restart

Desde cualquier otro PC que tenga instalado MySQL Administrator o cualquier programa que pueda acceder a MySQL podremos comprobar que funciona correctamente.
Desde consola, podemos probrarlo haciendo:

$ mysql -u root -p base_de_datos -h xxx.xxx.xxx.xxx

Espero sea de su ayuda.

Post Relacionados:

  1. Instalar MySQL WorkBench en Ubuntu
  2. Permitir conexiones SSH en ArchLinux
  3. LAMP (Linux + Apache + MySQL + PHP) en ArchLinux
  4. wp-config.php, Archivo de configuración de WordPress
  5. Instalar la documentación de Java en Debian/Ubuntu

17 pensamientos en “Permitir conexiones remotas a MySQL de manera gráfica

  1. Hola, soy nuevo en ubuntu como en mysql y estoy tratando de hacer lo mismo del TEMA, conectarme remotamente a mi servidor mysql de ubuntu a ubuntu. Segun yo ya tengo configurado esto, de crear un nuevo usuarios, darle privilegios y eso. Ahora la pregunta es: Estoy en el maquina cliente que comando escribo para hacer mi conexion “mysql -u root -p base_datos -h 192.168.1.X ?” pero la ip que escribo es la del servidor o la del cliente ?

    • Si tu máquina cliente es la 192.168.1.1 y el servidor es la 192.168.1.1, tu comando sería: mysql -u root -p base_datos -h 192.168.1.1
      Donde te pediría la contraseña del usuario root.

      Saludos

  2. Hola, excelente post, vale me funciona excelente cuando me conecto desde ubuntu a una maquina en windows, pero al hacerlo desde windows a ubuntu me dice que el usuario root para la ip d ela maquina con windows esta denegado, que error podria ahber cometido en la configuración? gracias..!

    • Angel,
      Por default en Ubuntu, mysql bloquea TODAS las conexiones que sean de hosts externos, es decir, solo te podrás conectar desde la propia máquina con ubuntu, para habilitarlo debes de hacer lo siguiente:

      mysql> GRANT ALL PRIVILEGES ON *.* TO USERNAME@IP IDENTIFIED BY “PASSWORD”;
      mysql> FLUSH PRIVILEGES;

      Donde USERNAME, es tú usuario con el que te conectas.
      Donde IP, es la IP desde la que te conectas y puede ser el comodín ‘%’, para permitir la conexión “desde cualquier máquina”.
      Donde PASSWORD es la contraseña de tú usuario

      Espero te sirva la respuesta.
      Saludos

  3. Con esto puedo realizar conexión cómo sí la base de datos estuviera en el equipo remoto? Es decir, actualmente tengo un programa en c++ que realiza la adquisición de datos por medio del puerto usb, guarda los datos en archivo y en mysql, todo esto en la maquina donde tengo mysql(maquina 1). Quiero realizar un programa en modo gráfico que utilice los datos de la maquina 1 guardados en mysql, pero este programa gráfico funcionaría en la maquina remota (maquina 2). Alguna idea o sugerencia?

    • Es correcto, para realizar el programa remoto tú equipo que realiza la adquisición de datos fungiría como servidor de base de datos por lo que tienes que darle permisos a las IP’s que se conectaran a tú servidor en esté caso la máquina 2. Y con solo darle permisos a la IP de la máquina 2 ya podrás usar los datos generados.
      Saludos

  4. k4ch0, disculpa las molestias al momento de darle permisos al root me sale este error:
    you have an error in your sql syntax; checkthe manual that correspond to you mysql serverversion for the right syntax to use near type=myisam comment= stores adtional user information character setutf8 coll al line 1(1064)

  5. Hola, como puedo configurar el acceso remoto, para windows server.
    cuales son las consideraciones que debo de tener.
    para poder conectarme remotamente al servidor.

    • Por default mysql bloquea TODAS las conexiones que sean de hosts externos, es decir, solo te podrás conectar desde la propia máquina con ubuntu, para habilitarlo debes de hacer lo siguiente:

      mysql> GRANT ALL PRIVILEGES ON *.* TO USERNAME@IP IDENTIFIED BY “PASSWORD”;
      mysql> FLUSH PRIVILEGES;

      Donde USERNAME, es tú usuario con el que te conectas.
      Donde IP, es la IP desde la que te conectas y puede ser el comodín ‘%’, para permitir la conexión “desde cualquier máquina”.
      Donde PASSWORD es la contraseña de tú usuario

      Espero te sirva la respuesta.

      Saludos

  6. Como deberia realizar la instalacion del servidor si quisiera dar acceso a usuarios atravez de una conexion remota fuera de la red, es decir por internet…
    Saludos!

    • No es recomendable tener tú servidor de Base de Datos MySQL en internet, pero si lo quieres de preferencia es necesario configurarlo de tal manera que SOLAMENTE acepte los accesos de ciertas IP’s o en su defecto (pero es lo menos recomendable) abrirlo a todo el mundo.
      Para dar acceso a ciertas IP’s es necesario habilitar cada una de las IP’s con las que te conectarás de la siguente manera:

      mysql> GRANT ALL PRIVILEGES ON *.* TO USERNAME@IP IDENTIFIED BY “PASSWORD”;
      mysql> FLUSH PRIVILEGES;

      Donde USERNAME, es tú usuario con el que te conectas.
      Donde IP, es la IP desde la que te conectas y puede ser el comodín ‘%’, para permitir la conexión “desde cualquier máquina”.
      Donde PASSWORD es la contraseña de tú usuario

      Espero te sirva la respuesta

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>