我希望有多个 MySQL用户能够发出像这样的命令
CREATE DATABASE dbTest;
Run Code Online (Sandbox Code Playgroud)
但我也希望这些用户中的每一个都能够只查看和访问他们自己的数据库.
我所能找到的只是如何通过DBA创建数据库并将此数据库的权限授予特定用户:
GRANT ALL PRIVILEGES ON dbTest.* TO 'user';
Run Code Online (Sandbox Code Playgroud)
或者将所有数据库的权限授予用户:
GRANT ALL PRIVILEGES ON *.* TO 'user';
Run Code Online (Sandbox Code Playgroud)
但这也不是我想要的,因为它需要扩展和安全.
在Java中,我正在寻找一种将多个键映射到相同值的方法.假设我将数字0-9作为键,将"x","y"和"z"作为值,如下所示:
0->y
1->y
2->y
3->x
4->x
5->y
6->z
7->y
8->z
9->z
Run Code Online (Sandbox Code Playgroud)
现在x,y和z真的是长字符串,我有数百万个键,所以我不能多次存储字符串.你会怎么做?
我有一个想法就是创建两个数组:生成一个人工的第二个键,原始键被映射到另一个数组,而另一个数组是实际值的关键.这样,值只存储一次,原始键仍然可以间接映射到值:
0->k1
1->k1
2->k1
3->k2
4->k2
5->k1
6->k3
7->k1
8->k3
9->k3
k1->y
k2->x
k3->z
Run Code Online (Sandbox Code Playgroud)
问题:是否有更好的数据结构?