Para exponer MySQL a cualquier otra cosa que no sea localhost, deberá tener la siguiente línea
Para mysql versión 5.6 y anteriores
sin comentar en /etc/mysql/my.cnf
y asignado a la dirección IP de su computadora y no loopback
Para mysql versión 5.7 y superior
sin comentar en /etc/mysql/mysql.conf.d/mysqld.cnf
y asignado a la dirección IP de su computadora y no loopback
#Replace xxx with your IP Address
bind-address = xxx.xxx.xxx.xxx
O agregue una bind-address = 0.0.0.0
si no desea especificar la IP
Luego detenga y reinicie MySQL con la nueva entrada my.cnf. Una vez en ejecución, vaya a la terminal e ingrese el siguiente comando.
lsof -i -P | grep :3306
Eso debería devolver algo como esto con su IP real en xxx
mysqld 1046 mysql 10u IPv4 5203 0t0 TCP xxx.xxx.xxx.xxx:3306 (LISTEN)
Si la afirmación anterior es correcta, podrá aceptar usuarios remotos. Sin embargo, para que un usuario remoto se conecte con los privilegios correctos, debe tener ese usuario creado tanto en el servidor local como en '%'.
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
entonces,
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
y finalmente,
FLUSH PRIVILEGES;
EXIT;
Si no tiene el mismo usuario creado que el anterior, cuando inicia sesión localmente, puede heredar los privilegios básicos de localhost y tener problemas de acceso. Si desea restringir el acceso que tiene mi usuario, deberá leer la sintaxis de la instrucción GRANT AQUÍ Si supera todo esto y aún tiene problemas, publique algunos resultados de error adicionales y las líneas apropiadas de my.cnf.
NOTA:Si lsof no regresa o no se encuentra, puede instalarlo AQUÍ basado en su distribución de Linux. No necesita lsof para que las cosas funcionen, pero es extremadamente útil cuando las cosas no funcionan como se esperaba.
ACTUALIZACIÓN:si incluso después de agregar/cambiar la bind-address
en my.cnf
no funcionó, entonces vaya y cámbielo en el lugar donde se declaró originalmente:
/etc/mysql/mariadb.conf.d/50-server.cnf