0

我有一个基于 MySQL 数据库的门户网站,由各种项目组成。项目管理员需要管理他们的表。我想为他们提供一些已经存在的、免费的、简单的界面,并且设置尽可能便宜(比如每个新项目最多花费我 10-15 分钟的时间 - 重要!项目管理员的数量和他们的请求在增长......) . 它应该支持:

  • 必需:表导出、导入、插入新行、修改现有行
  • 不需要,但加分:外键替换为外部表中的其他字段值(通常是“字典”),仅显示某些列等。

问题是它是一个托管环境,所以我对 MySQL 数据库没有超级用户权限。我没有授予权限,所以我必须要求我的托管服务提供商运行每个grant命令,所以我想尽量减少这些请求,因为它是一项高于标准的服务(这是他们对我的恩惠)。这些请求必须经常进行。

我可以使用哪些数据库管理工具/解决方案?

我的想法:

1) MySQL ODBC 连接器 + MS Access作为客户端。MS Access 将通过 ODBC 连接器连接到 MySQL 服务器。我可以准备包含所需表格链接的小型 MS Access 文件,还可以快速生成表格!

  • 这很酷,但是,我每次都需要联系我的提供商以创建具有所需权限的数据库用户......以防止用户更改表结构或破坏其他表......

2)客户端 -> 代理 -> MySQL 服务器。就像在 1) 中一样,但有一些代理。我现在正在推理,但是 Access 也可以使用其他协议(例如 HTTP)来连接一些可以处理权限的代理,然后这个代理会将其传递给 MySQL 服务器。有没有这样的东西?

3) PHPMyADMIN。第 1) 点的问题仍然存在。但是,这里的权限检查理论上可以在PHP级别实现,所以不需要更改任何MySQL权限!PHPMyADMIN 是否能够开箱即用?我可以简单地配置一个只能看到表 A 和 B 并且只能修改 C 列等的新用户吗?

  • 但是,导入对用户不太友好(没有 XLS,只有 CSV,没有分隔符自动检测等),以及插入新记录......

4) 有很多现代网络工具,其外观类似于 GoogleDocs。这些可以用于任务。同样,理论上权限检查可以在网络服务器(而不是数据库)层完成......并轻松设置......(?)

我相信很多人都必须解决同样的问题,所以我期待您的经验和想法!

4

1 回答 1

0

我的最终解决方案是与托管服务提供商达成协议——我要求他创建 5 个虚拟数据库用户以供将来使用,并要求他授予我GRANT OPTION特权。所以我可以配置这些用户的权限,而无需询问托管服务提供商!在询问时我不知道这种可能性。

然后,我使用带有 MySQL ODBC 连接器的 MS Access 作为 MySQL 数据库的前端。太棒了1!

于 2012-07-05T15:02:09.390 回答