Mysql

–read-only 和只允許 SELECT 查詢有什麼區別?

  • March 13, 2018

我正在使用Amazon 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')

Amazon 在其中一台伺服器中使用全域 –read-only配置。使用–read-only和只能執行SELECT查詢的使用者有什麼區別?

當使用者獲得只讀權限 ( ) 時,即使全域值為 0 select,它也無法寫入/更新/等。但是,具有權限的使用者將能夠在全域值設置為的伺服器上寫入1.read-only\[SUPER\]read-only

另一個區別是只讀權限非常精細,而read-only變數是伺服器範圍的變數。

通常,您會向SELECT您希望他們從其他使用者可以寫入的伺服器/數據庫/表中讀取的使用者授予權限。另一方面,read-only當您希望除超級使用者之外的所有使用者都能夠寫入時,您將變數設置為 1。例如,讀從機。

引用自:https://dba.stackexchange.com/questions/200006