Atualização:
Como mencionado nos comentários, desde o MySql 8 você precisa primeiro criar explicitamente o usuário, então o comando ficará assim:
CREATE USER 'root'@'%' IDENTIFIED BY 'root'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Resposta original:
Há duas etapas nesse processo:
a) Conceder privilégios. Como usuário root execute com isso substituindo
'password'
com sua senha de root atual:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
b) vincular a todos os endereços:
A maneira mais fácil é comentar a linha em seu
my.cnf
Arquivo:#bind-address = 127.0.0.1
e reinicie o mysql
service mysql restart
Por padrão, ele se vincula apenas ao localhost, mas se você comentar a linha, ele se vinculará a todas as interfaces que encontrar. Comentar a linha é equivalente a
bind-address=*
. Para verificar onde o serviço mysql foi vinculado, execute como root:
netstat -tupan | grep mysql
Atualização para o Ubuntu 16:
O arquivo de configuração é (agora)
/etc/mysql/mysql.conf.d/mysqld.cnf
(pelo menos no Ubuntu 16 padrão)