Cómo permitir la conexión remota a mysql


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

¿Cómo puedo hacer eso?

Author: user207421, 2013-02-08

12 answers

Que está permitido por defecto en MySQL.

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

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

Y luego encuentre la siguiente línea y coméntela en su archivo my.cnf, que generalmente vive 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 es un sistema Windows, puede encontrarlo en el directorio de instalación de MySQL, generalmente algo así como C:\Program Files\MySQL\MySQL Server 5.5\ y el nombre del archivo será my.ini.

Cambiar línea

 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.

 568
Author: mjuarez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-22 09:36:16

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

Comencé a mirar a los usuarios en MySQL y noté que había múltiples usuarios root con diferentes contraseñas.

select user, host, password from mysql.user;

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

use mysql;
update user set password=PASSWORD("NEWPASSWORD") where User='root';
flush privileges;
 36
Author: Matthew Lock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-13 12:13:38

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

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

 22
Author: Mayur Patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-14 17:41:53

En mi caso, estaba tratando de conectarme a un servidor mysql remoto en cent OS. Después de pasar por una gran cantidad de soluciones (la concesión de todos los privilegios, la eliminación de enlaces ip,la habilitación de redes) problema todavía no se resuelve.

Como resultado, mientras buscaba varias soluciones,me encontré con iptables, lo que me hizo darme cuenta de que el puerto mysql 3306 no aceptaba conexiones.

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

  • Comprobando si el puerto es aceptar conexiones:
telnet (mysql server ip) [portNo]
  • Agregar la regla de la tabla ip para permitir conexiones en el puerto:
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
  • No recomendaría esto para el entorno de producción, pero si sus iptables no están configurados 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.

 18
Author: Kushal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-22 11:07:37

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

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

 4
Author: tadman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-08 18:42:20

Por favor, siga los pasos mencionados a continuación para establecer el acceso remoto comodín para el usuario MySQL.

(1) Abrir cmd.

(2) vaya a path C:\Program Archivos \ MySQL \ MySQL Server 5.X \ bin y ejecuta este comando.

Mysql-u root-p

(3) Introduzca la contraseña de root.

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

CONCEDE TODOS LOS PRIVILEGIOS EN . A 'USERNAME' @ ' IP ' IDENTIFICADO POR "CONTRASEÑA';

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

IP: Dirección IP pública desde la que desea permitir el acceso a MySQL servidor.

PASSWORD: Contraseña del nombre de usuario utilizado.

IP se puede reemplazar por % para permitir al usuario conectarse desde cualquier IP dirección.

(5) Limpie las previleges siguiendo el comando y salga.

PRIVILEGIOS DE DESCARGA;

Exit;

introduzca la descripción de la imagen aquí

 4
Author: Hiren Parghi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-30 13:52:37

Si instaló MySQL desde brew realmente solo escucha en la interfaz local por defecto. Para arreglar eso necesitas editar /usr/local/etc/my.cnf y cambiar el bind-address de 127.0.0.1 a *.

Luego ejecuta brew services restart mysql.

 3
Author: Timmmm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-04 14:48:29

Para quien lo necesite, compruebe que el puerto de firewall 3306 también está abierto, si su servicio de firewall se está ejecutando.

 2
Author: Zelkovar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-02 12:21:26

Solo F. Y. I Me tiré del pelo con este problema durante horas.. finalmente llamo a mi proveedor de hosting y encontré que en mi caso utilizando un servidor cloud que en el panel de control para 1and1 tienen un firewall secundario que tienes que clonar y añadir el puerto 3306. Una vez añadido, entré directamente..

 1
Author: Dan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-13 21:13:55

Y para la gente de OS X por ahí tenga en cuenta que el parámetro bind-address se establece típicamente en el plist launchd y no en el my.archivo ini. Así que en mi caso, eliminé <string>--bind-address=127.0.0.1</string> de /Library/LaunchDaemons/homebrew.mxcl.mariadb.plist.

 1
Author: tdmartin102,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-19 12:07:46

Este blog Cómo configurar un servidor MySQL en una Red de Área Local será útil para configurar un MySQL desde cero

 0
Author: Kasun Siyambalapitiya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-25 08:39:23

Si mysqld tiene una dirección bind establecida en una dirección loopback/local (por ejemplo, 127.0.0.1), el servidor no será accesible desde hosts remotos, porque no se puede acceder a una interfaz loopback desde ningún host remoto.

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

Fuente

 0
Author: Wesley Smith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-24 20:00:21