Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Acesso remoto ao MySQL

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.