Normalmente, o acesso remoto ao servidor de banco de dados MySQL é desabilitado por motivos de segurança. No entanto, algum tempo você precisa fornecer acesso remoto ao servidor de banco de dados MySQL de casa ou de um servidor web. Você pode seguir estas etapas para habilitá-lo.
Etapa 1:faça login usando SSH (se o servidor estiver fora do seu ambiente ou intranet)
Primeiro, faça login por ssh no servidor de banco de dados MySQL remoto do Windows usando PuTTy ou do Linux usando SSH
Etapa 2:Edite o arquivo my.cnf
Uma vez conectado, você precisa editar o arquivo de configuração do servidor MySQL my.cnf usando um editor de texto como o vi:
- No Debian Linux arquivo está localizado em /etc/mysql/my.cnf localização.
- No Red Hat Linux/Fedora/Centos Linux arquivo está localizado em /etc/my.cnf localização.
Para editar /etc/my.cnf, execute:
# vi /etc/my.cnf
- No Windows , o arquivo my.ini está localizado em C:\Program Files\MySQL\MySQL Server X.Y (X.Y é o número da versão do servidor MySQL)
Para Windows, abra o arquivo my.ini no bloco de notas
Etapa 3:Uma vez que o arquivo é aberto, localize a linha que diz o seguinte
[mysqld]
Certifique-se de que a rede de salto de linha esteja comentada (ou remova a linha) e adicione a seguinte linha
bind-address=YOUR-SERVER-IP
Por exemplo, se o IP do seu servidor MySQL for 173.234.21.12, o bloco inteiro 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 = 173.234.21.12 # skip-networking ....
Onde,
- endereço de ligação :endereço IP para vincular.
- saltar 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 comentada.
Etapa 4:salve e feche o arquivo
No Debian / Ubuntu Linux, digite o seguinte comando para reiniciar o servidor mysql:
# /etc/init.d/mysql restart
No RHEL / CentOS / Fedora / Scientific Linux, digite o seguinte comando para reiniciar o servidor mysql:
# /etc/init.d/mysqld restart
No Windows, abra o prompt de comando como Administrador e digite
net stop MySQL net start MySQL
Etapa 5:conceder acesso ao endereço IP remoto
Conceder acesso a um novo banco de dados
Se você deseja adicionar um novo banco de dados chamado foo para barra de usuário e IP remoto 162.72.20.23, você precisa digitar os seguintes comandos no prompt do mysql:
mysql> CREATE DATABASE foo; mysql> GRANT ALL ON foo.* TO bar@'162.72.20.23' IDENTIFIED BY 'PASSWORD';
Conceder acesso a um banco de dados existente
Vamos supor que você esteja sempre fazendo conexão de um IP remoto chamado 162.72.20.23 para um banco de dados chamado webdb para o usuário webadmin. Para conceder acesso a este endereço IP para o banco de dados existente, digite o seguinte comando no prompt do mysql:
mysql> update db set Host='162.72.20.23' where Db='webdb'; mysql> update user set Host='162.72.20.23' where user='webadmin';
Etapa 6:Logout do MySQL
Digite o comando exit para sair do mysql:
mysql> exit
Etapa 7:abra a porta 3306
Uma regra iptables de amostra para abrir o firewall iptables do Linux
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
OU permita apenas a conexão remota do seu servidor web localizado em 162.72.20.23:
/sbin/iptables -A INPUT -i eth0 -s 162.72.20.23 -p tcp --destination-port 3306 -j ACCEPT
OU permita apenas a conexão remota de sua sub-rede lan 192.168.1.0/24:
/sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --destination-port 3306 -j ACCEPT
Por fim, salve todas as regras (comando específico do RHEL / CentOS):
# service iptables save
No Windows, vá para Painel de Controle> Firewall do Windows> Adicionar regra de entrada para a porta 3306
Etapa 8:testar o acesso remoto ao banco de dados MySQL
No seu sistema remoto ou na sua área de trabalho, digite o seguinte comando:
$ mysql -u webadmin –h 173.234.21.12 –p
No Windows, execute o programa de linha de comando MySQL e faça login como administrador digitando o seguinte comando na pasta raiz do MySQL (por exemplo, Arquivos de Programas\MySQL\MySQL Server 5.5\bin):
C:\Program Files\MySQL\MySQL Server 5.5\bin>mysql -u webadmin –h 173.234.21.12 –p
Onde,