我使用的是Aurora,我有两个端点,可以读写的端点有一些问题要执行查询,这些问题是:
SQLSTATE[HY000]: General error: 1290 The MySQL server is running with the --read-only option so it cannot execute this statement, query was: UPDATE `integration` SET `setup_type` = ? WHERE (integration_id='4')
SQLSTATE[HY000]: General error: 1290 The MySQL server is running with the --read-only option so it cannot execute this statement, query was: UPDATE `indexer_state` SET `indexer_id` = ?, `status` = ?, `updated` = '2018-03-12 14:38:45', `hash_config` = ? WHERE (state_id='1')
亚马逊在其中一台服务器上使用全局只读配置。使用只读和只执行SELECT查询的用户之间有什么区别?
发布于 2018-03-12 19:58:55
当用户获得只读权限(select
)时,即使全局read-only
值为0,它也无法写入/更新/等。但是,用户有\[SUPER\]
特权将能够在全局read-only
值设置为1的服务器上写入。
另一个不同之处是只读权限是非常细粒度的,而read-only
变量是服务器范围的变量。
通常,您会将SELECT
权限授予希望他们从服务器/DB/Table中读取的用户,其他用户可以在那里进行写入。另一方面,当您希望除超级用户之外的所有用户都能够写入时,可以将read-only
变量设置为1。例如,读取奴隶。
发布于 2018-03-12 14:34:56
对用户来说,可能没有什么不同。
对于系统完整性,--read-only
防止您意外地写入从服务器,从而破坏复制完整性。
Aurora无法控制(我想)您是否授予写权限,并碰巧让他们用UPDATE
攻击奴隶。这是一个容易,简单,预防。
https://dba.stackexchange.com/questions/200006
复制