# SET GLOBAL

Sets an engine variable globally.

`SET GLOBAL` can be used to set two types of variables listed below.

* Global: When you set a global variable, its value is effective for your current connection to the node and any subsequent connections, initiated by any user.
* Session that can also be set globally: When you set this type of variable globally, its value is NOT effective for your current connection to the node but is effective for any subsequent connections to the node, initiated by any user.

Most variables have global scope. Those that instead have the scope “session that can also be set globally” are indicated in the “Description” column in the [Sync Variables Lists](https://docs.singlestore.com/db/v9.1/reference/configuration-reference/engine-variables/list-of-engine-variables/#sync-variables-lists.md) and [Non-Sync Variables List](https://docs.singlestore.com/db/v9.1/reference/configuration-reference/engine-variables/list-of-engine-variables/#non-sync-variables-list.md).

To set a sync variable, you can use [SET CLUSTER](https://docs.singlestore.com/db/v9.1/reference/sql-reference/operational-commands/set-cluster.md) instead of `SET GLOBAL`. Both commands are equivalent. The former command is recommended, as the command’s name clearly indicates that the variable is updated cluster-wide.

See the [engine variables overview](https://docs.singlestore.com/db/v9.1/reference/configuration-reference/engine-variables.md) for more information on engine variables.

## Syntax

```
SET GLOBAL variable_name = value

SET @@GLOBAL.variable_name = value

```

## Remarks

* `variable_name` is the name of a global engine variable.
* The `@@global.variable_name` syntax for engine variables is supported for compatibility with some other database systems. This is similar to MySQL behavior.
* When you run SET GLOBAL to set a session variable globally, you need to additionally run [FLUSH CONNECTION POOLS ](https://docs.singlestore.com/db/v9.1/reference/sql-reference/cluster-management-commands/fill-and-flush-connection-pools.md)on every aggregator and restart the SQL session for the new session variable value to take effect.
* Refer to the [Permissions Matrix](https://docs.singlestore.com/db/v9.1/reference/sql-reference/security-management-commands/permissions-matrix.md) for the required permissions.

## Example

The following example sets a global variable and retrieves its value.

Set the variable:

```sql
SET GLOBAL connect_timeout = 15;

```

Retrieve its value:

```sql
SELECT @@connect_timeout;

```

Refer [Assigning Expressions to Variables](https://docs.singlestore.com/db/v9.1/reference/configuration-reference/engine-variables/assigning-expressions-to-variables/#section-idm4545871151977633309679676987.md) for more examples.

## Related Topics

* [Engine Variables Overview](https://docs.singlestore.com/db/v9.1/reference/configuration-reference/engine-variables.md)
* [SET and SET SESSION](https://docs.singlestore.com/db/v9.1/reference/sql-reference/operational-commands/set-and-set-session.md)

***

Modified at: March 21, 2024

Source: [/db/v9.1/reference/sql-reference/operational-commands/set-global/](https://docs.singlestore.com/db/v9.1/reference/sql-reference/operational-commands/set-global/)

(An index of the documentation is available at /llms.txt)
