Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro cadastro

Assim como outros tbm estou tendo erro ao fazer o cadastro:

Failed to connect to MySQL: php_network_getaddresses: getaddrinfo failed: Name or service not known Error creating table.

Error adding employee data.

Vi que uma das formas de resolver poderia ser atraves do comando abaixo:

mysql -u admin -h <Endpoint-do-banco-de-dados-RDS> -p

Porem quando o faco esta dando um erro:

ERROR 2059 (HY000): Plugin http could not be loaded: /usr/lib64/mariadb/plugin/http.so: cannot open shared object file: No such file or directory

5 respostas

Olá Vinicius, tudo bem? Você poderia verificar se a opção Public accessibility (Acessibilidade pública) do banco de dados no RDS está como Yes? Pode ser esse o problema de conexão. Sobre o erro ERROR 2059 (HY000): Plugin http could not be loaded: /usr/lib64/mariadb/plugin/http.so: cannot open shared object file: No such file or directory aparentemente não está conseguindo executar esse comando, você tem apenas o mariadb instalado na sua máquina ou tem o MySQL também? Isso me parece que ele não está conseguindo usar o MySQL Client. Mas verifica o Public accessibility (Acessibilidade pública) do RDS primeiro!

E fala pra gente o resultado!

Vou testar e retorno aqui! Obrigado pela resposta rapida!

Ola! O public acessibility estava como "NO", mudei pra "YES" mas o erro persistiu na pagina. Quando fiz o comando abaixo, entretanto, consegui conectar com o database na linha de comando. Alguma ideia?

mysql -u admin -h <Endpoint-do-banco-de-dados-RDS> -p

Então na linha de comando deu certo o acesso ao banco de dados correto? Bem, por ser alguma configuração do arquivo que o professor disponibilizou.

Mas você poderia tentar colocar o seguindo conteúdo dentro do arquivo index.php:

<?php
$link = mysqli_connect("HOST", "USUARIO", "SENHA", "BANCO_DE_DADOS");

if (!$link) {
    echo "Error: Falha ao conectar-se com o banco de dados MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

echo "Sucesso: Sucesso ao conectar-se com a base de dados MySQL." . PHP_EOL;

mysqli_close($link);
?> 

E você poderia colocar as informações de "HOST", "USUARIO", "SENHA", "BANCO_DE_DADOS" diretamente nesse arquivo e depois enviar para a máquina EC2 e tentar realizar o teste.

E verifica também a versão PHP instalado na máquina EC2 e fala pra gente!

solução!

Caso nesse teste acima a conexão for realizada com sucesso. Você pode tentar a solução proposta pelo Davi nesse outro tópico. A solução dele foi remover o include do início do arquivo index.php e deixar da seguinte forma:

<html>
<body>
<h1>Cadastro WEB</h1>
<?php

  /* Connect to MySQL and select the database. */
  $connection = mysqli_connect(<Endpoint-do-banco-de-dados-RDS>, USUARIO, SENHA);

  if (mysqli_connect_errno()) echo "Failed to connect to MySQL: " . mysqli_connect_error();

  $database = mysqli_select_db($connection, BANCO_DE_DADOS);

  /* Ensure that the EMPLOYEES table exists. */
  VerifyEmployeesTable($connection, BANCO_DE_DADOS);

/* Restante do código omitido */

As alterações são apenas nessa parte do código o restante continua o mesmo.