To avoid having clear text passwords in a world readable config.inc.php file, I want to use “advanced”/http authentication on phpmyadmin.
For that, a control user with read-only permissions to the system’s mysql database is needed, as explained in phpmyadmin documentation. Does such a user already exist? If not, would you mind to create it?:
- For ‘http’ and ‘cookie’ modes, phpMyAdmin needs a controluser that
has only the SELECT privilege on the mysql.user (all columns
except “Password”), mysql.db (all columns) & mysql.tables_priv
(all columns except “Grantor” & “Timestamp”) tables.
You must specify the details for the controluser in the
config.inc.php3 file under the $cfgServers[$i][‘controluser’]&
This example assumes you want to use pma as the controluser and
pmapass as the controlpass:
GRANT USAGE ON mysql.* TO ‘pma’@‘localhost’ IDENTIFIED BY
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) ON mysql.user TO ‘pma’@‘localhost’;
GRANT SELECT ON mysql.db TO ‘pma’@‘localhost’;
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv) ON
mysql.tables_priv TO ‘pma’@‘localhost’;
… and if you want to use the bookmark feature:
GRANT SELECT, INSERT, DELETE ON <bookmark_db>.<bookmark_table> TO
pma would be any other username you find fit, and localhost would be %.dreamhost.com
Thanks a lot.