Tentando conectar o phpMyAdmin ao servidor mySQL remoto (2002: não é possível conectar)

2

Tentando fazer com que o phpMyAdmin converse com um servidor mySQL remoto. A configuração está abaixo e já existe um usuário configurado no banco de dados MySQL para poder efetuar login a partir do host especificado em que a PMA está localizada. A hospedagem é fornecida pela Rackspace (Rightscale) e pelos dois servidores em nuvem atrás do mesmo firewall.

[config.inc.php]

<?php

  $cfg['blowfish_secret'] = '';
  $i = 0;

  $i++;
  $cfg['Servers'][$i]['host']          = 'XX.XX.XX.XX';   // MySQL hostname or IP address
  $cfg['Servers'][$i]['port']          = '';                 // MySQL port - leave blank for default port
  $cfg['Servers'][$i]['socket']        = '';                 // Path to the socket - leave blank for default socket
  $cfg['Servers'][$i]['connect_type']  = 'tcp';              // How to connect to MySQL server ('tcp' or 'socket')
  $cfg['Servers'][$i]['extension']     = 'mysql';            // The php MySQL extension to use ('mysql' or 'mysqli')
  $cfg['Servers'][$i]['compress']      = FALSE;              // Use compressed protocol for the MySQL connection
                                                             // (requires PHP >= 4.3.0)
  $cfg['Servers'][$i]['controluser']   = '';                 // MySQL control user settings
                                                             // (this user must have read-only
  $cfg['Servers'][$i]['controlpass']   = '';                 // access to the "mysql/user"
                                                             // and "mysql/db" tables).
                                                             // The controluser is also
                                                             // used for all relational
                                                             // features (pmadb)
  $cfg['Servers'][$i]['auth_type']     = 'config';           // Authentication method (config, http or cookie based)?
  $cfg['Servers'][$i]['user']          = 'USERNAME';              // MySQL user
  $cfg['Servers'][$i]['password']      = 'PASSWORD';  // MySQL password (only needed
                                                             // with 'config' auth_type)
  $cfg['Servers'][$i]['only_db']       = '';                 // If set to a db-name, only
                                                             // this db is displayed in left frame
                                                             // It may also be an array of db-names, where sorting order is relevant.
  $cfg['Servers'][$i]['hide_db']       = '';                 // Database name to be hidden from listings
  $cfg['Servers'][$i]['verbose']       = '';                 // Verbose name for this host - leave blank to show the hostname

  $cfg['Servers'][$i]['pmadb']         = '';                 // Database used for Relation, Bookmark and PDF Features
                                                             // (see scripts/create_tables.sql)
                                                             //   - leave blank for no support
                                                             //     DEFAULT: 'phpmyadmin'
  $cfg['Servers'][$i]['bookmarktable'] = '';                 // Bookmark table
                                                             //   - leave blank for no bookmark support
                                                             //     DEFAULT: 'pma_bookmark'
  $cfg['Servers'][$i]['relation']      = '';                 // table to describe the relation between links (see doc)
                                                             //   - leave blank for no relation-links support
                                                             //     DEFAULT: 'pma_relation'
  $cfg['Servers'][$i]['table_info']    = '';                 // table to describe the display fields
                                                             //   - leave blank for no display fields support
                                                             //     DEFAULT: 'pma_table_info'
  $cfg['Servers'][$i]['table_coords']  = '';                 // table to describe the tables position for the PDF schema
                                                             //   - leave blank for no PDF schema support
                                                             //     DEFAULT: 'pma_table_coords'
  $cfg['Servers'][$i]['pdf_pages']     = '';                 // table to describe pages of relationpdf
                                                             //   - leave blank if you don't want to use this
                                                             //     DEFAULT: 'pma_pdf_pages'
  $cfg['Servers'][$i]['column_info']   = '';                 // table to store column information
                                                             //   - leave blank for no column comments/mime types
                                                             //     DEFAULT: 'pma_column_info'
  $cfg['Servers'][$i]['history']       = '';                 // table to store SQL history
                                                             //   - leave blank for no SQL query history
                                                             //     DEFAULT: 'pma_history'
  $cfg['Servers'][$i]['verbose_check'] = TRUE;               // set to FALSE if you know that your pma_* tables
                                                             // are up to date. This prevents compatibility
                                                             // checks and thereby increases performance.
  $cfg['Servers'][$i]['AllowRoot']     = TRUE;               // whether to allow root login
  $cfg['Servers'][$i]['AllowDeny']['order']                  // Host authentication order, leave blank to not use
                                       = '';
  $cfg['Servers'][$i]['AllowDeny']['rules']                  // Host authentication rules, leave blank for defaults
                                       = array();

Por favor, deixe-me saber se você precisar de mais informações.

- Malcolm

    
por Malcolm Jones 08.02.2012 / 18:39

2 respostas

2

Verifiquei substituindo "xx.xx.xx.xx" pelo endereço IP do servidor mysql remoto e certifique-se de que o banco de dados tenha permissão para acessar através do seu endereço IP.

$cfg['Servers'][$i]['host'] = 'XX.XX.XX.XX';

    
por 23.09.2014 / 08:57
0

Existem algumas coisas que podem estar em jogo:

  1. O aplicativo em si não está usando o mesmo endereço de origem do qual você está se conectando ao servidor MySQL na linha de comando. Se o servidor e o aplicativo forem locais um para o outro, pode ser uma simples mistura de 127.0.0.1 vs localhost , que o MySQL trata como hosts diferentes e, portanto, eles precisam de diferentes máscaras de permissão. Da mesma forma, se o seu webapp é SNATed atrás de um firewall, é muito provável que o MySQL esteja vendo um IP de origem diferente.

  2. Outra fonte comum de problemas é usar nomes de host DNS em máscaras de privilégios. Se você estiver fazendo isso (por exemplo, 'user'@'foo.bar.com' ) e a resolução do DNS falhar ou se seus registros de encaminhamento / reversão não corresponderem, o MySQL não permitirá a conexão.

Se nenhum desses casos for o caso, você também pode tentar afrouxar temporariamente as permissões para 'user'@'%' para ver se isso alivia o problema.

    
por 24.07.2014 / 01:25

Tags