- 论坛徽章:
- 0
|
10可用积分
如果SQL节点为3个,分别为A,B,C。那么如果我在A节点上建立一个用户并且赋予他对于某个NDB表的查询,更新等权限,那么对于在A节点上这个用户发出的请求,能正常的得到响应,但是如果你在B,C节点上用这个用户发送同样的请求,由于B,C节点的系统表上根本没有该用户的信息,那么该操作连简单的身份验证都通不过,别说进一步验证权限了。
同样的情况,如果我在A节点上建立一个NDB表那么,在B,C节点上所有对这个表所属的数据库有正确查询权限的用户都能查询这个新建表的数据,而且关于这个表的数据都会同步到其他SQL节点。
这种情况是由于SQL节点的系统表不是采用NDB,而是MYISAM存储引擎而造成的,而且,系统表是不能把数据引擎转成NDB的,如果这样的话,系统表原有的系统管理功能会消失。目前同步SQL节点的方法只有通过手工复制,或者脚本。
如果在SQL节点上作负载均衡的话,我在考虑一个问题,请求调度器对于请求是看负载情况调度的,如果是若干个引起系统表内容变化的请求,被分到不同SQL节点执行,那么会造成SQL节点之间的系统表的数据部一致,另外也给他们之间的同步带来一定的难度,不知道有没有什么好的解决方法? |
|