Server System Variables defaults to 131072. The value of this variable should be a multiple of 4KB. If it is set to a value that is not a multiple of 4KB, its value is rounded down to the nearest multiple of 4KB. This option is also used in the following context for all storage engines: •For bulk insert into partitions. •For caching results of nested queries. •For caching the indexes in a temporary file (not a temporary table), when sorting rows for  ORDER BY . read_buffer_size  is also used in one other storage engine-specific way: to determine the memory block size for  MEMORY  tables. Beginning with MySQL 8.0.22, the value of  select_into_buffer_size  is used in place of the value of  read_buffer_size  for the buffer used when executing  SELECT INTO DUMPFILE  and  SELECT INTO OUTFILE  statements. For more information about memory use during different operations, see Section 8.12.3.1, “How MySQL Uses Memory” . • read_only Command-Line Format --read-only[={OFF|ON}] System Variable read_only Scope Global Dynamic Yes SET_VAR  Hint Applies No Type Boolean Default Value OFF If the  read_only  system variable is enabled, the server permits no client updates except from users who have the  CONNECTION_ADMIN  privilege (or the deprecated  SUPER  privilege). This variable is disabled by default. The server also supports a  super_read_only  system variable (disabled by default), which has these effects: •If  super_read_only  is enabled, the server prohibits client updates, even from users who have the CONNECTION_ADMIN  or  SUPER  privilege. •Setting  super_read_only  to  ON  implicitly forces  read_only  to  ON . •Setting  read_only  to  OFF  implicitly forces  super_read_only  to  OFF . When  read_only  is enabled and when  super_read_only  is enabled, the server still permits these operations: •Updates performed by replication threads, if the server is a replica. In replication setups, it can be useful to enable  read_only  on replica servers to ensure that replicas accept updates only from the replication source server and not from clients. •Writes to the system table  mysql.gtid_executed , which stores GTIDs for executed transactions that are not present in the current binary log file. 866