2

从 root 用户,我在该用户的一个数据库下添加了一个用户,但是当我使用该用户登录时,我可以查看所有数据库。一个用户如何只能查看分配给它的自己的数据库

4

1 回答 1

0

/phpmyadmin/config.inc.php 使用您最喜欢的编辑器并填写 blowfish_secret 行。

例如

$cfg['blowfish_secret'] = 'UltraSecretPassphrase';

通过 http:///phpmyadmin/ 访问并使用 MySQL root 用户名和密码登录。

单击右侧窗格中的 SQL 选项卡,然后在标有在服务器“localhost”上运行 SQL 查询/查询的文本框中粘贴以下 SQL 语句并将 pmapassword 更改为更安全的内容。然后单击 Go 按钮。

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';

现在我们需要修改 phpMyAdmin 的配置以支持多个唯一用户。再次使用您喜欢的编辑器编辑 /usr/share/phpmyadmin/config.inc.php 并完成以下更改。

去掉这两行前面的//,填写上面选择的密码

$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapassword';

在上面的行之后添加以下行

 $cfg['Servers'][$i]['hide_db'] = 'information_schema';

在末尾添加以下行?>

 $cfg['AllowUserDropDatabase'] = true;

将服务器扩展行从 mysql 更改为 mysqli

 $cfg['Servers'][$i]['extension'] = 'mysqli';
于 2013-07-20T09:37:13.720 回答