Se você tiver acesso total ao seu servidor (privilégios de root necessários):
Etapa 1:edite my.cnf (geralmente localizado em /etc)
Encontre a seguinte linha:
[mysqld]
e certifique-se de que a linha skip-networking
é comentado (ou remova a linha) e adicione a seguinte linha:bind-address=YOUR-SERVER-IP
Por exemplo, se o IP do seu servidor MySQL for 66.166.170.28, todo o bloco deve ter a seguinte aparência:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/English
bind-address = 66.166.170.28
# skip-networking
.......
Onde
- endereço de ligação :endereço IP para vincular.
- ignorar rede :Não escute conexões TCP/IP. Toda interação com o mysqld deve ser feita via sockets Unix. Essa opção é altamente recomendada para sistemas em que apenas solicitações locais são permitidas. Como você precisa permitir a conexão remota, esta linha deve ser removida de my.cnf ou colocada no estado de comentário.
Etapa 2:conceder acesso a todos os hosts
Inicie o monitor MySQL com este comando:
mysql
ou /usr/local/mysql/bin/mysql
. Seu prompt de shell agora deve ficar assim:mysql>
. Execute este comando:GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY "PASSWORD";
Onde:
- NOME DE USUÁRIO é o nome de usuário que você usa ao se conectar usando seu script php.
- SENHA é a senha que você usa ao se conectar.
Agora você deve liberar os privilégios do MySQL. Execute este comando:
FLUSH PRIVILEGES;
Execute este comando para sair do MySQL:
exit;
Etapa 3:reinicie o mysql deamon
/etc/init.d/mysqld restart
ou
/etc/init.d/mysql restart
dependendo de qual distribuição linux seu servidor está executando atualmente.