You are viewing an older version of this section. View current production version.
Memsqlctl Config File (memsqlctl.hcl)
The memsqlctl config file, memsqlctl.hcl overrides the default settings for the entire system.
Default location
/etc/memsql/memsqlctl.hcl
Format
Settings
- nodeMetadataFile: The path to the state file, where memsqlctl stores the set of nodes on this host. This must be owned by the user specified by the- useroption.
- defaultInstallDir: The default installation directory for MemSQL nodes created by memsqlctl. This must be owned by the user specified by the- useroption.
- user: The username of the user that owns everything MemSQL-related on this host. This includes- defaultInstallDir(and its contents),- nodeMetadataFile, and any state related to MemSQL nodes (e.g.,- memsql.cnffiles, data directories, log files, etc.). This is also the user that will run- memsqld. To change this value, you will also need to update the permissions on all MemSQL-related files and directories and restart all MemSQL nodes on this host.
Remarks
To prevent unintentionally running MemSQL nodes as the root user, memsqlctl will error unless you explicitly set user = "root" in the memsqlctl.hcl configuration file.
The default installation process will create a memsql service user and associated group (of the same name) which will run MemSQL. All state owned by memsqlctl and nodes created by memsqlctl on this machine will be owned by the memsql linux user and group.
Example
The following example shows a memsqlctl.hcl file with the default values.
version = 1
nodeMetadataFile = "/var/lib/memsql/nodes.hcl"
defaultInstallDir = "/var/lib/memsql"
user = "memsql"
