The following discussion describes the syntax options for setting and persisting system variables: 

•To assign a value to a global system variable, precede the variable name by the GLOBAL  keyword or the @@GLOBAL.  qualifier: 

SET GLOBAL max_connections = 1000; SET @@GLOBAL.max_connections = 1000; 

•To assign a value to a session system variable, precede the variable name by the SESSION  or LOCAL keyword, by the @@SESSION. , @@LOCAL. , or @@  qualifier, or by no keyword or no modifier at all: 

SET SESSION sql_mode = ’TRADITIONAL’; SET LOCAL sql_mode = ’TRADITIONAL’; SET @@SESSION.sql_mode = ’TRADITIONAL’; SET @@LOCAL.sql_mode = ’TRADITIONAL’; SET @@sql_mode = ’TRADITIONAL’; SET sql_mode = ’TRADITIONAL’; 

A client can change its own session variables, but not those of any other client. 

•To persist a global system variable to the mysqld-auto.cnf  option file in the data directory, precede the variable name by the PERSIST  keyword or the @@PERSIST.  qualifier: 

SET PERSIST max_connections = 1000; SET @@PERSIST.max_connections = 1000; 

This SET  syntax enables you to make configuration changes at runtime that also persist across server restarts. Like SET GLOBAL , SET PERSIST  sets the global variable runtime value, but also writes the variable setting to the mysqld-auto.cnf  file (replacing any existing variable setting if there is one). 

•To persist a global system variable to the mysqld-auto.cnf  file without setting the global variable runtime value, precede the variable name by the PERSIST_ONLY  keyword or the @@PERSIST_ONLY. qualifier: 

SET PERSIST_ONLY back_log = 100; SET @@PERSIST_ONLY.back_log = 100; 

Like PERSIST , PERSIST_ONLY  writes the variable setting to mysqld-auto.cnf . However, unlike PERSIST , PERSIST_ONLY  does not modify the global variable runtime value. This makes PERSIST_ONLY  suitable for configuring read-only system variables that can be set only at server startup. 

To set a global system variable value to the compiled-in MySQL default value or a session system variable to the current corresponding global value, set the variable to the value DEFAULT . For example, the following two statements are identical in setting the session value of max_join_size  to the current global value: 

SET @@SESSION.max_join_size = DEFAULT; SET @@SESSION.max_join_size = @@GLOBAL.max_join_size; 

Using SET  to persist a global system variable to a value of DEFAULT  or to its literal default value assigns the variable its default value and adds a setting for the variable to mysqld-auto.cnf . To remove the variable from the file, use RESET PERSIST . 

Some system variables cannot be persisted or are persist-restricted. See Section 5.1.9.4, “Nonpersistible and Persist-Restricted System Variables” . 

A system variable implemented by a plugin can be persisted if the plugin is installed when the SET statement is executed. Assignment of the persisted plugin variable takes effect for subsequent server 

