Acesse o banco de dados MySQL do WordPress remotamente

2

Eu quero acessar um banco de dados MySql em um host externo. Eu tenho permissão do proprietário, mas eles são ignorantes em relação à tecnologia (e parece que eu também sou).

Eu passei pelo código do WordPress e encontrei as credenciais do banco de dados em um arquivo chamado wp-config.php.default . Outros lugares parecem improváveis.

define('DB_NAME', '[redacted]');
define('DB_USER', 'db_user');
define('DB_PASSWORD', '[redacted]');
define('DB_HOST', '[redacted]');

A tentativa de conectar-se via linha de comando falha.

$ mysql --host='[redacted]' --user='db_user' --password='[redacted]' '[redacted]'
ERROR 2003 (HY000): Can't connect to MySQL server on '[redacted]' (60)

Eu tenho as credenciais erradas? Se sim, como posso encontrá-los? Não há nenhuma seção de configurações de banco de dados evidente na interface do superadministrador.

Meu endereço IP está bloqueado? Se sim, como posso configurar o WordPress para aceitá-lo? A maioria dos exemplos online já alcançou um prompt Sql.

    
por AJcodez 15.10.2014 / 23:19

3 respostas

4

Você deve conceder acesso a um usuário de um host remoto no servidor mysql.

Este tutorial irá orientá-lo na configuração de um usuário em seu servidor MySQL para se conectar remotamente.

Os seguintes itens são assumidos:

You have access to login as the 'root' MySQL user

Conteúdo

1 Getting your IP address
2 Granting Access
3 Testing Remotely
4 Notes

Como obter seu endereço IP

Você precisará saber de qual endereço IP está se conectando. Para encontrar isso, você pode ir a um dos seguintes sites:

http://www.ipchicken.com
http://www.whatismyip.com

Conceder acesso

A concessão de acesso a um usuário a partir de um host remoto é bastante simples e pode ser realizada a partir de apenas algumas etapas. Primeiro você precisará fazer o login no seu servidor MySQL como usuário root. Você pode fazer isso digitando o seguinte comando:

mysql -u root -p

Isso irá solicitar sua senha de root do MySQL.

Uma vez que você está logado no MySQL, você precisa emitir o comando GRANT que permitirá o acesso do seu usuário remoto. Neste exemplo, criaremos um novo usuário (fooUser) que terá acesso total ao banco de dados fooDatabase.

Tenha em mente que esta declaração não está completa e precisará de alguns itens alterados. Por favor, altere 1.2.3.4 para o endereço IP que obtivemos acima. Você também precisará alterar my_password com a senha que você gostaria de usar para fooUser.

mysql> GRANT ALL ON fooDatabase.* TO fooUser@'1.2.3.4' IDENTIFIED BY 'my_password';

Esta declaração concederá TODAS as permissões ao usuário recém-criado fooUser com uma senha 'my_password' quando elas se conectarem a partir do endereço IP 1.2.3.4.

Testando remotamente

Agora você pode testar sua conexão remotamente. Você pode acessar seu servidor MySQL de outro servidor Linux:

mysql -u fooUser -p -h 44.55.66.77
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> _

Note que o IP do nosso servidor MySQL é 44.55.66.77 neste exemplo.

Notas

Há algumas coisas a serem observadas ao configurar esses usuários remotos:

Ao configurar usuários, um usuário local não é o mesmo que um usuário remoto. Por exemplo, fooUser @ localhost não é o mesmo que [email protected]. Você terá que duplicar as permissões se quiser que elas tenham as mesmas permissões.

A concessão de todas as permissões não é recomendada. Usar GRANT SELECT, INSERT, UPDATE, DELETE é uma alternativa inteligente para um usuário normal.

Se você deseja conceder apenas a uma tabela específica, você pode usar o banco de dados em vez do banco de dados. Em relação ao nosso exemplo acima, você poderia colocar fooDatabase.fooTable.

Se você estiver usando o iptables, precisará fazer uma entrada no firewall para a porta TCP 3306. Ao criar sua regra de firewall, basta usar o nome 'mysql' para o número da porta.

Fonte: link

    
por 15.10.2014 / 23:56
0

Tente isso

mysql -h (ip do servidor mysql) -u (username) -p (senha)

espero que isso ajude!

    
por 15.10.2014 / 23:23
0

Não são muitos os hosts da Web que abrem as portas de entrada do MySQL, portanto, você precisa ter certeza de que é possível estabelecer uma conexão com o servidor. Eu estou supondo que você tem uma instância web executando php, então você também pode fazer o upload do phpMyAdmin (que é basicamente o MySQL Administrator Software) para seu servidor, configurá-lo com suas credenciais de banco de dados e acessá-lo através de uma URL específica.

Existem muitas maneiras de instalar o phpMyAdmin, algumas distribuições do Linux podem instalá-lo através de um comando simples. Verifique se não está instalado no servidor que você está tentando acessar.

    
por 16.10.2014 / 03:21