una servidor remoto remotas remota permitir para otra habilitar desde datos configurar conexiones conexion conectarse conectar acceso acceder mysql mysql-workbench

servidor - mysql remoto cpanel



Cómo permitir la conexión remota a mysql (12)

He instalado MySQL Community Edition 5.5 en mi máquina local y quiero permitir conexiones remotas para poder conectarme desde una fuente externa.

¿Cómo puedo hacer eso?


Después de hacer todo lo anterior, todavía no podía iniciar sesión como root forma remota, pero Telnet al puerto 3306 confirmó que MySQL estaba aceptando conexiones.

Comencé a buscar usuarios en MySQL y noté que había varios usuarios root con diferentes contraseñas.

select user, host, password from mysql.user;

Así que en MySQL establecí todas las contraseñas para root de nuevo y finalmente pude iniciar sesión de forma remota como root .

use mysql; update user set password=PASSWORD("NEWPASSWORD") where User=''root''; flush privileges;


En mi caso, intentaba conectarme a un servidor remoto de MySQL en ciento OS. Después de pasar por muchas soluciones (otorgando todos los privilegios, eliminando los enlaces IP, habilitando la red), el problema aún no se resolvía.

Resultó que, mientras buscaba varias soluciones, encontré iptables, lo que me hizo darme cuenta de que el puerto 3306 de mysql no estaba aceptando conexiones.

Aquí hay una pequeña nota sobre cómo revisé y resolví este problema.

  • Comprobando si el puerto está aceptando conexiones:

telnet (mysql server ip) [portNo]

  • Añadiendo regla de tabla ip para permitir conexiones en el puerto:

iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

  • No lo recomendaría para el entorno de producción, pero si sus iptables no están configuradas correctamente, agregar las reglas podría no resolver el problema. En ese caso se debe hacer lo siguiente:

service iptables stop

Espero que esto ayude.


Eso está permitido por defecto en MySQL.

Lo que está deshabilitado por defecto es el acceso remoto a la root . Si desea habilitar eso, ejecute este comando SQL localmente:

GRANT ALL PRIVILEGES ON *.* TO ''root''@''%'' IDENTIFIED BY ''password'' WITH GRANT OPTION; FLUSH PRIVILEGES;

Y luego busque la siguiente línea y my.cnf en su archivo my.cnf , que generalmente se encuentra en /etc/mysql/my.cnf en sistemas Unix / OSX. En algunos casos, la ubicación del archivo es /etc/mysql/mysql.conf.d/mysqld.cnf).

Si se trata de un sistema Windows, puede encontrarlo en el directorio de instalación de MySQL, generalmente algo como C:/Program Files/MySQL/MySQL Server 5.5/ y el nombre de archivo será my.ini .

Cambiar linea

bind-address = 127.0.0.1

a

#bind-address = 127.0.0.1

Y reinicie el servidor MySQL ( Unix/OSX y Windows ) para que los cambios surtan efecto.



Para quien lo necesite, verifique que el puerto de firewall 3306 también esté abierto, si su servicio de firewall está en ejecución.


Si mysqld tiene una dirección de enlace establecida en un bucle / dirección local (por ejemplo, 127.0.0.1 ), no se podrá acceder al servidor desde hosts remotos, ya que no se puede acceder a una interfaz de bucle de retorno desde ningún host remoto.

Establezca esta opción en 0.0.0.0 ( :: para IPv4 + 6) para aceptar conexiones desde cualquier host, o hacia otra dirección accesible externamente si solo desea permitir conexiones en una interfaz.

Fuente


Si el proceso de su servidor MySQL solo escucha en 127.0.0.1 o :: 1, no podrá conectarse de forma remota. Si tiene una configuración de bind-address de /etc/my.cnf en /etc/my.cnf esta podría ser la fuente del problema.

También tendrá que agregar privilegios para un usuario que no sea localhost .


Si instaló MySQL desde brew en realidad solo escucha en la interfaz local de manera predeterminada. Para solucionarlo, debe editar /usr/local/etc/my.cnf y cambiar la bind-address de bind-address de 127.0.0.1 a * .

Luego ejecute brew services restart mysql .


Siga los pasos mencionados a continuación para configurar el acceso remoto de comodín para el usuario de MySQL.

(1) Abrir cmd.

(2) navegue a la ruta C: / Archivos de programa / MySQL / MySQL Server 5.X / bin y ejecute este comando.

mysql -u root -p

(3) Introduzca la contraseña de root.

(4) Ejecute el siguiente comando para proporcionar el permiso.

OTORGAR TODOS LOS PRIVILEGIOS EN . A ''NOMBRE DE USUARIO'' @ ''IP'' IDENTIFICADO POR ''CONTRASEÑA'';

NOMBRE DE USUARIO: Nombre de usuario que desea conectar al servidor MySQL.

IP: Dirección IP pública desde donde desea permitir el acceso al servidor MySQL.

CONTRASEÑA: Contraseña del nombre de usuario utilizado.

La IP se puede reemplazar con% para permitir que el usuario se conecte desde cualquier dirección IP.

(5) Descargue los privilegios siguiendo el comando y salga.

PRIVILEGIOS DE LAVADO;

salida;


Solo para tu información, me saqué el pelo con este problema durante horas. Finalmente, llamé a mi proveedor de alojamiento y descubrí que, en mi caso, utilizaba un servidor en la nube que en el panel de control de 1 y 1 tienen un firewall secundario que tienes que clonar y agregar a un puerto. 3306. Una vez añadida llegué directamente ..


Solo una nota de mi experiencia, puede encontrar el archivo de configuración en esta ruta /etc/mysql/mysql.conf.d/mysqld.cnf .

(Luché por algún tiempo para encontrar este camino)


Y para la gente de OS X, tenga en cuenta que el parámetro de dirección de vinculación normalmente se establece en la lista de inicio y no en el archivo my.ini. Entonces, en mi caso, eliminé <string>--bind-address=127.0.0.1</string> de /Library/LaunchDaemons/homebrew.mxcl.mariadb.plist .