我有一个客户想要使用 myphpadmin 来管理我服务器上的 mysql 数据库 5.x。我找到了这篇关于如何在 myphpadmin 中隐藏数据库的文章,但我不喜欢这样做,因为如果我不指定要隐藏的数据库,那么每次我添加新数据库时,客户端都会通过 myphpadmin 访问它。
文章:http://www.electrictoolbox.com/hide-databases-phpmyadmin/
在 myphpadmin config.inc.php 文件中隐藏数据库的命令:
$cfg['Servers'][$i]['hide_db'] = 'hidedb1|hidedb2|etc...';
我还在 mysql 中创建了单独的用户名和密码。
有没有办法扭转这种局面,以便我可以告诉 myphpadmin 仅显示此登录的数据库?
谢谢,
弗兰克·G.
答案1
MySQL 用户将只能看到他有访问权限的数据库。你可以测试一下
mysql> create database test_db;
mysql> grant all privileges on test_db.* to test_user@'%' identified by "password";
之后使用 test_user 登录,您将只看到 test_db 数据库
如果用户有三个已填充的数据库,我该怎么办?我如何授予他访问这三个数据库的权限?
首先撤销所有特权
mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM test_user@'%';
mysql> flush privileges;
然后授予必要的数据库/表/列