Configuração do phpMyAdmin 4 para múltiplos usuários (Ubuntu 14.04, Apache2, PHP5)

0

Estou solicitando a configuração do phpMyAdmin para que vários usuários possam acessar seus próprios bancos de dados com direitos totais, mas não possam ver, editar ou remover outros bancos de dados.

Eu instalei o phpMyAdmin assim:

sudo apt-get install phpmyadmin

Web server to reconfigure automatically: <-- apache2
Configure database for phpmyadmin with dbconfig-common? <-- No

A installtion está sendo executada com sucesso, mas eu só consigo acessar o phpMyAdmin como root. Se eu criar um banco de dados 'testdb' e conceder privilégios como este:

GRANT ALL PRIVILEGES ON testdb.* TO 'user1'@'%' IDENTIFIED BY 'pass1';
FLUSH PRIVILEGES;

Ainda não consigo acessar o phpMyAdmin com as credenciais do usuário1. Por quê? Como eu dou ao usuário1 todos os privilégios em seu banco de dados com acesso ao phpMyAdmin?

    
por udgru 14.01.2015 / 12:00

1 resposta

0

O seguinte funciona para dar acesso a vários usuários:

Primeiro atualize sua versão do phpmyadmin para o Ubuntu:

sudo nano /etc/apt/source.list

## Untrusted PPA phpMyAdmin
deb http://ppa.launchpad.net/nijel/phpmyadmin/ubuntu trusty main 
deb-src http://ppa.launchpad.net/nijel/phpmyadmin/ubuntu trusty main

sudo apt-get update

sudo apt-get install phpmyadmin

Depois de instalar a versão mais recente, configure o phpmyadmin:

mysql > CREATE DATABASE phpmyadmin;

Import into phpmyadmin database „create_tables.sql.gz“
from the directory „/usr/share/doc/phpmyadmin/examples“

Add new user pma to database phpmyadmin:
CREATE USER 'pma'@'localhost' IDENTIFIED BY 'pmapassword';

GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapassword';

GRANT SELECT (Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv,
    Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv,
    Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv,
    Repl_client_priv) ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv) ON
    mysql.tables_priv TO 'pma'@'localhost';

GRANT SELECT (Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, 
    Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv,
    Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv,
    Repl_client_priv) ON mysql.user TO 'pma'@'localhost';

GRANT SELECT ON mysql.db TO 'pma'@'localhost';

GRANT SELECT ON mysql.host TO 'pma'@'localhost';

GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv) ON
    mysql.tables_priv TO 'pma'@'localhost';


sudo nano /etc/phpmyadmin/ config-db.php

$dbuser='pma';
$dbpass=‘pmapassword‘;
$basepath='';
$dbname='phpmyadmin';
$dbserver='127.0.0.1';
$dbport='3306';
$dbtype='mysql';


sudo nano /etc/phpmyadmin/config.inc.php

$cfg['Servers'][$i]['controluser'] = $dbuser;
$cfg['Servers'][$i]['controlpass'] = $dbpass;

$cfg['Servers'][$i]['hide_db'] = '^(information_schema|mysql|performance_schema|phpmyadmin)$';
    
por udgru 15.01.2015 / 13:04