短版本:如何编写一个MySQL过程来列出特定用户可以访问的MySQL数据库中的几个表中的哪一个?
更长版本
我正在编写一个多用户应用程序,它可以访问一个数据库,其中包含了一家公司几个分支的数据。数据库有许多查找表,任何用户都可以访问,每个分支只有授权用户才能访问一个表。我的策略是:
privilege.From 编写一个存储过程,返回用户选择应用程序的相关表的列表,调用过程。如果只有一个返回的表,使用它,否则让用户选择他们想要访问的分支(例如对于管理人员)。
我很难弄清楚如何编写这样的存储过程。SHOW GRANTS FOR CURRENT_USER是一种明显的可能性,但是解析类似于:
GRA
在MySQL中,是否可以对数据库中的一组表执行GRANT操作,例如允许创建和删除某些表名,但不允许其他表名?
这两种方法似乎都不起作用:
GRANT SELECT ON `testdb`.`%_testing` TO 'wildcardtest'@'localhost';
GRANT SELECT ON `testdb`.`testing%` TO 'wildcardtest'@'localhost';
无论哪种方式,MySQL手册似乎都没有给出答案。
我有一个包含以下内容的数据库
id | userid | name
1 | 1 | John
2 | 1 | John
3 | 2 | Joe
4 | 2 | Joe
5 | 2 | Joe
6 | 3 | Sue
7 | 3 | Sue
我需要得到一种方法,我可以创建一个数据库,然后创建用户。我在mysql中创建的每个用户都限制他们访问他们的userid的数据。数据库中的每个数据库表都有userid值。
因此,无论是读取、更新、插入还是删除。如果它正在通过我附加到该数据库的特定mysql用户,我希望该用户仅读
我在创建数据库时遇到了问题,它导致了以下错误。
mysql> show grants for 'admin'@'%';
+---------------------------------------------------------------------------------------------------------------------------------+
| Grants for admin@%
我在mysql 5.1中创建了用户,并给出了所有特权,详细信息如下:
mysql> show GRANTS FOR test;
+-------------------------------------------------------------+
| Grants for test@% |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'tes
数据库:关系数据库- MySQL
我正在用多个表建立一个数据库。为了从表中查看数据,用户需要登录。我只需要显示那些信息(通过网页)从表中只属于他,所以他将无法访问其他用户的数据。
那么,我应该在每个表中放置注册用户信息吗?因此,当他想查看数据时,我将“从TABLE_ABC where (login_id = Id_of_current_user_log_ined )中选择数据”。我将把这个条件放在每个查询中,这样他只能访问他/她自己的数据,而不是其他人。
我创建了一个关系模式,但是只有一个表从登录表继承登录信息,而其中三个表没有数据属于谁的信息?
我最近尝试了很多web开发应用,比如Drupal,Moodle,Efront和Elgg。为了提高安全性,我使用Parallels在Mac OS X 10.4中的虚拟XP机器上的XAMPP安装程序上运行测试服务器。我认为这应该是非常安全的,对吧?
在安装像Elgg这样的软件时,它会要求我在MySQL服务器中创建一个用户,以便它可以访问数据库。我想知道我创建新用户的方法是否正确,以及我应该授予该用户什么权限。
目前,我通过进入PHPMyAdmin、MySQL数据库、用户表并插入新行来创建新用户。这是正确的吗?由于某些原因,它并不总是有效的。
附言-我应该为这一切而烦恼,还是让每个软件都使用我的根账