Actualización:
Como se menciona en los comentarios, desde MySql 8 primero debe crear explícitamente el usuario, por lo que el comando se verá así:
CREATE USER 'root'@'%' IDENTIFIED BY 'root'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Respuesta original:
Hay dos pasos en ese proceso:
a) Otorgar privilegios. Como usuario root, ejecute con esta sustitución 'password'
con su contraseña de root actual:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
b) vincular a todas las direcciones:
La forma más fácil es comentar la línea en su my.cnf
archivo:
#bind-address = 127.0.0.1
y reinicie mysql
service mysql restart
De forma predeterminada, se vincula solo a localhost, pero si comenta la línea, se vincula a todas las interfaces que encuentra. Comentar la línea es equivalente a bind-address=*
.
Para verificar dónde se ha vinculado el servicio mysql, ejecute como root:
netstat -tupan | grep mysql
Actualización para Ubuntu 16:
El archivo de configuración es (ahora)
/etc/mysql/mysql.conf.d/mysqld.cnf
(al menos en Ubuntu 16 estándar)