MySQL - 如何只授予 n 个从站之一的访问权限?
MySQL - How to grant access to only one of n slaves?
我有一主两从
是否可以限制特定的只读用户仅查询第二个从属(禁止他运行 对主从和第一个从属进行任何查询)?
我看到可以执行以下操作来对主服务器进行未复制的更改,但我认为我需要的是对一个从服务器而不是另一个进行更改。
SET sql_log_bin = {OFF|ON}
并且 GRANT 语法允许限制主机用户的来源,但据我所知,这不是用户可以使用的数据库服务器。
我在网络搜索中没有找到太多内容 -- 也许这暗示有更好的方法来解决这个问题。基本上我在问这是否可以由数据库强制执行,因为我想要的限制只适用于这个用户。
对于上下文:从属基本上只是一个服务器,它复制发生在主服务器上的每个操作。根据您的 configuration,从属将仅 运行 已在主控上执行的相同查询,或者将对各个行的更改列表应用到从属。
要为特定从站添加用户,您可以直接在从站 上执行此操作。你在这里所做的任何事情只会影响这个奴隶。如果您的用户当前存在于主服务器(和从服务器)上,您首先必须放弃 him/remove 他的权限,等到此更改已复制到所有从服务器(也可能 depend on your configuration),然后add/modify这个用户直接上slave。
您可能需要暂时禁用 read_only or super_read_only 设置(在从属设备上),该设置的存在是为了防止意外地在从属设备上执行某些操作 - 但这是您想要做的。
由于您的从站现在(略微)偏离了主站,如果您现在 运行 查询会更改主站上的该用户(例如再次删除它),它可能会对主站产生不同的影响主人和奴隶。这将取决于您的配置,但请记住这一点。
我有一主两从
是否可以限制特定的只读用户仅查询第二个从属(禁止他运行 对主从和第一个从属进行任何查询)?
我看到可以执行以下操作来对主服务器进行未复制的更改,但我认为我需要的是对一个从服务器而不是另一个进行更改。
SET sql_log_bin = {OFF|ON}
并且 GRANT 语法允许限制主机用户的来源,但据我所知,这不是用户可以使用的数据库服务器。
我在网络搜索中没有找到太多内容 -- 也许这暗示有更好的方法来解决这个问题。基本上我在问这是否可以由数据库强制执行,因为我想要的限制只适用于这个用户。
对于上下文:从属基本上只是一个服务器,它复制发生在主服务器上的每个操作。根据您的 configuration,从属将仅 运行 已在主控上执行的相同查询,或者将对各个行的更改列表应用到从属。
要为特定从站添加用户,您可以直接在从站 上执行此操作。你在这里所做的任何事情只会影响这个奴隶。如果您的用户当前存在于主服务器(和从服务器)上,您首先必须放弃 him/remove 他的权限,等到此更改已复制到所有从服务器(也可能 depend on your configuration),然后add/modify这个用户直接上slave。
您可能需要暂时禁用 read_only or super_read_only 设置(在从属设备上),该设置的存在是为了防止意外地在从属设备上执行某些操作 - 但这是您想要做的。
由于您的从站现在(略微)偏离了主站,如果您现在 运行 查询会更改主站上的该用户(例如再次删除它),它可能会对主站产生不同的影响主人和奴隶。这将取决于您的配置,但请记住这一点。