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?
mysql
mysql-workbench
León
fuente
fuente
sudo mysql_secure_installation
. FYI.Respuestas:
Eso está permitido por defecto en MySQL.
Lo que está deshabilitado por defecto es el
root
acceso remoto . Si desea habilitar eso, ejecute este comando SQL localmente:Y luego encuentre la siguiente línea y coméntela en su
my.cnf
archivo, que generalmente vive/etc/mysql/my.cnf
en los 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 así
C:\Program Files\MySQL\MySQL Server 5.5\
como el nombre del archivomy.ini
.Cambio de línea
a
Y reinicie el servidor MySQL ( Unix / OSX y Windows ) para que los cambios surtan efecto.
fuente
my.cnf
archivo y no encuentran unabind-address
directiva, tenga en cuenta que en mi caso (MySQL versión 14.14 en Ubuntu 16.04.2) la ubicación del archivo era/etc/mysql/mysql.conf.d/mysqld.cnf
Después de hacer todo lo anterior, aún no podía iniciar sesión de
root
forma remota, pero Telnetting al puerto3306
confirmó queMySQL
estaba aceptando conexiones.Comencé a mirar a los usuarios en MySQL y noté que había múltiples usuarios root con diferentes contraseñas.
Entonces
MySQL
, configuré todas las contraseñas para root nuevamente y finalmente pude iniciar sesión de forma remota comoroot
.fuente
update user set authentication_string=password('YOUR_PASSWORD') where user='root';
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)
fuente
sudo find /etc -iname 'mysql*.cnf'
En mi caso, estaba tratando de conectarme a un servidor mysql remoto en OS Cent. Después de pasar por muchas soluciones (otorgar todos los privilegios, eliminar enlaces de IP, habilitar la conexión en red), el problema aún no se resolvió.
Al final resultó que, mientras buscaba en 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 verifiqué y resolví este problema.
Espero que esto ayude.
fuente
Siga los pasos mencionados a continuación para configurar el acceso remoto comodín para el usuario de MySQL.
fuente
Si el proceso de su servidor MySQL está escuchando en 127.0.0.1 o :: 1 solamente, entonces no podrá conectarse de forma remota. Si tiene una
bind-address
configuración en/etc/my.cnf
esto, podría ser la fuente del problema.También tendrá que agregar privilegios para un no
localhost
usuario.fuente
127.0.0.1
?Si instaló MySQL
brew
, realmente solo escucha en la interfaz local de forma predeterminada. Para solucionarlo, debe editar/usr/local/etc/my.cnf
y cambiarbind-address
de127.0.0.1
a*
.Entonces corre
brew services restart mysql
.fuente
Todo el proceso de inicio de sesión remoto. El inicio de sesión remoto está desactivado de forma predeterminada. Debe abrirlo manualmente para todas las IP ... para dar acceso a todas las IP
Ip específico
entonces
Puede verificar su host de usuario y contraseña
Ahora tu deber es cambiar esto
Puedes encontrar esto en
si no encuentra esto allí, intente esto
comentar en esto
Luego reinicie Mysql
Ahora disfruta del inicio de sesión remoto
fuente
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, usando un servidor en la nube que en el panel de control para 1 y 1 tienen un firewall secundario que debes clonar y agregar puerto 3306. Una vez agregado, me metí directamente ...
fuente
Para quien lo necesite, compruebe que el puerto del cortafuegos 3306 también esté abierto, si su servicio de cortafuegos está en ejecución.
fuente
Este blog Cómo configurar un servidor MySQL en una red de área local será útil para configurar un servidor
MySQL
desde cerofuente
Y para las personas con OS X, tenga en cuenta que el parámetro bind-address generalmente se establece en launchd plist y no en el archivo my.ini. Entonces, en mi caso, me quité
<string>--bind-address=127.0.0.1</string>
de/Library/LaunchDaemons/homebrew.mxcl.mariadb.plist
.fuente
~/Library/LaunchAgents
Si
mysqld
tiene una dirección de enlace establecida en una dirección de bucle de retorno / local (por ejemplo127.0.0.1
), el servidor no será accesible desde hosts remotos, porque 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 u otra dirección de acceso externo si solo desea permitir conexiones en una interfaz.Fuente
fuente
Habilitar el acceso raíz remoto puede ser peligroso. Sería preferible configurar cuentas de usuario con permisos más restrictivos. Los siguientes tres pasos deberían hacerlo.
Asegúrese de que la línea que comienza
bind-address ...
al menos esté comentada en su archivo my.ini o my.cnf. Si no existe, sigue adelante. Puede encontrar este archivo enC:\ProgramData\MySQL\MySQL Server 8.0
Windows.Luego, verifique que la cuenta de usuario con la que está estableciendo la conexión no se encuentra
localhost
en el campo Coincidencia de límites a hosts. Si bien no se recomienda, en su lugar, puede colocar%
ese campo para fines de prueba. Puede hacerlo abriendo una conexión local al servidor con MySQL Workbench, luego vaya a Servidor> Usuarios y privilegios desde la barra de menú y busque la cuenta de usuario con la que desea conectarse.El campo "Limitar a la coincidencia de hosts" es lo que no le permite conectarse de forma no local. Es decir, limita las conexiones aceptadas a un patrón de direcciones IP. Idealmente, debe acceder al servidor MySQL desde una dirección IP estática o subred, para que pueda ser lo más restrictivo posible.
fuente
algunas veces necesitan usar el nombre de la PC en Windows
primer paso) poner en el archivo de configuración de mysql:
(para permitir recibir conexiones a través de tcp / ip)
segundo paso) hacer usuario en mysql, usuarios de tabla, con el nombre de la PC en las propiedades de Windows , NO ip
fuente