Fornece acesso de usuário não-root para efetuar login no phpMyAdmin [closed]

1

Eu estou tentando dar um acesso de usuário mysql não root para entrar no phpMyAdmin e ver apenas o DB ao qual ele tem acesso.

Eu já vi os seguintes artigos e tentei seus conselhos: Configurando o phpmyadmin para vários usuários

Eu concedi o acesso do usuário mysql com senha para o banco de dados e para selecionar itens no mysql db (como indicado em um dos artigos). Eu configurei o phpmyadmin para usar o tipo de autenticação do cookie, eu tenho um usuário de controle pma, eu concordei com o usuário não apenas de '%' mas de localhost e IPs, etc.

Quando o usuário efetua login, ele recebe # 1045 Não é possível efetuar login no servidor MySQL

Meu usuário root pode se conectar bem ao phpmyadmin. O usuário que precisa de acesso ao phpmyadmin também pode efetuar login a partir da linha de comando.

O diretório phpmyadmin tem chmod -R 777, exceto o arquivo de configuração, que não é gravável pelo mundo.

As linhas aplicáveis do arquivo de log do mysql são:

130507 14:40:00 [Warning] 'user' entry 'someusername@mydomain' ignored in --skip-name-resolve mode.ve mode.
130507 14:40:00 [Warning] 'db' entry 'somedbname someusername@mydomain' ignored in --skip-name-resolve mode.
130507 14:40:00 [Warning] 'tables_priv' entry 'db someusername@mydomain' ignored in --skip-name-resolve mode.
130507 14:40:00 [Warning] 'tables_priv' entry 'host someusername@mydomain' ignored in --skip-name-resolve mode.
130507 14:40:00 [Warning] 'tables_priv' entry 'tables_priv someusername@mydomain' ignored in --skip-name-resolve mode.
130507 14:40:00 [Warning] 'tables_priv' entry 'user someusername@mydomain' ignored in --skip-name-resolve mode.

Assim como uma nota, o nome real de algum usuário @ mydomain foi concedido a privs com senha.

Minha configuração do phpmyadmin é assim:

$cfg['blowfish_secret'] = '*******************';
$i = 0;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '**********';
$cfg['Servers'][$i]['hide_db'] = 'information_schema';
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['MaxRows'] = 500;
$cfg['AllowUserDropDatabase'] = true;

Alguma idéia de como resolver esse problema?

Obrigado.

    
por Morfie 07.05.2013 / 22:29

1 resposta

1

Você iniciou o MySQL com a opção skip-name-resolve , na linha de comando ou em /etc/my.cnf , mas você tem usuários do MySQL cujos nomes incluem um nome de host, em vez de um endereço IP. Como o MySQL não está resolvendo endereços IP para nomes de host, ele não pode autenticar esses usuários.

Para resolver o problema, faça um ou ambos de:

  1. Remova a opção skip-name-resolve .
  2. Crie usuários do MySQL com endereços IP em vez de nomes de host.
por 07.05.2013 / 22:31

Tags