Está en la página 1de 5

De forma predeterminada, al instalar, MySQL no está habilitado para acceso externo.

Por
lo tanto, en este tutorial le mostraremos cómo permitir el acceso remoto en ambientes
Windows y Linux.

Windows

1 – Abra el símbolo del sistema de MySQL;

2 – En el indicador MySQL, escriba el siguiente comando para garantizar todos los


privilegios de acceso al usuario root en todas las IP: GRANT ALL ON *. * TO ‘root’ @ ‘%’
IDENTIFIED BY ‘contraseña root’;

Note que es posible garantizar privilegios a otro usuario (modificando el root) en una
determinada IP (modificando el @ ‘%’).

3 – Luego debe de usar el comando: FLUSH PRIVILEGES;


4 – Si tiene algún Firewall activo, será necesario liberar el puerto de MySQL (ex: 3306) las
excepciones del Firewalll.

Linux

1 – Como root en el terminal del linux escriba: nano /etc/mysql/my.cnf

2 – Cambie la línea siguiente: bind-address = 127.0.0.1, a: bind-address = 0.0.0.0


3 – Reinicie el servicio de MySQL, usando el comando: /etc/init.d/mysql restart

4 – Entre en el prompt de MySQL con: mysql -u root -p


5 – En el indicador de MySQL, escriba el siguiente comando para garantizar todos los
privilegios de acceso al usuario root en todas las IP: GRANT ALL ON *. * TO ‘root’ @ ‘%’
IDENTIFIED BY ‘contraseña root’;

Note que es posible garantizar privilegios a otro usuario (modificando el root) en una
determinada IP (modificando el @ ‘%’).

6 – Si tiene algún Firewall activo, será necesario liberar el puerto de MySQL (ex: 3306) las
excepciones del Firewall.

Establecer contraseña de root en MariaDB/MySQL en Ubuntu


18.04
Escrito el y tuvo 6 comentarios

Hace unos días instalé Ubuntu Server 18.04 en una máquina virtual para montar un servidor web
usando Nginx + MariaDB + HHVM + WordPress y realizar unas pruebas, y luego de seguir lo pasos
habituales me percaté que cuando instalé MariaDB, no me salió la opción habitual de establecer una
contraseña para el usuario root.
Sucedió entonces que cuando ejecuté el comando:
$ mysql_secure_installation
Para asegurar la base de datos y demás, no podía seguir porque no tenía la contraseña de administrador
y tampoco me permitía dejarlo en blanco. Me puse a buscar un poco por Internet y encontré
que MariaDB usa el complemento unix_socket para autenticar y no las contraseñas y que aún si
configuramos una contraseña, esta se ignorará. Pero por suerte hay solución para esto.
Primero nos logueamos en MariaDB usando el comando:
sudo mysql -u root
Cuando nos pida poner la contraseña simplemente damos Enter (wtf? sin contraseña).. Una vez que
hagamos esto ejecutamos los siguientes comandos:
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit

Y posteriormente reiniciamos MariaDB:


sudo systemctl restart mariadb.service
Ahora volvemos a ejecutar el comando:
$ mysql_secure_installation
Y estas son las opciones que debemos marcar:
• Enter current password for root (enter for none): Oprima Enter
• Set root password? [Y/n]: Y
• New password: Ponemos la contraseña que queramos
• Re-enter new password: Repetimos la contraseña
• Remove anonymous users? [Y/n]: Y
• Disallow root login remotely? [Y/n]: Y
• Remove test database and access to it? [Y/n]: Y
• Reload privilege tables now? [Y/n]: Y

Y eso es todo.. ya podemos acceder como root.