Конфигурация phpMyAdmin 4 для нескольких пользователей (Ubuntu 14.04, Apache2, PHP5)

Я спрашиваю о конфигурации phpMyAdmin, чтобы несколько пользователей могли получить доступ к своим базам данных с полными правами, но не могли видеть, редактировать или удалять другие базы данных.

Я установил phpMyAdmin следующим образом:

sudo apt-get install phpmyadmin

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

Установка успешно запущена, но я могу получить доступ только к phpMyAdmin от имени пользователя root. Если я создаю базу данных 'testdb' и предоставляю права доступа следующим образом:

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

Я все еще не могу получить доступ к phpMyAdmin с учетными данными user1. Зачем? Как я могу дать пользователю1 все привилегии в своей базе данных с доступом к phpMyAdmin?

0
задан 14 January 2015 в 14:00

1 ответ

Следующие работы для предоставления доступа к многочисленным пользователям:

, В первую очередь, обновляют Вашу phpmyadmin версию для 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

После установки последней версии настраивают 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);
0
ответ дан 14 January 2015 в 14:00

Другие вопросы по тегам:

Похожие вопросы: