Memsqlctl Config File (memsqlctl.hcl)
This topic does not apply to SingleStore Managed Service.
The memsqlctl config file,
memsqlctl.hcl overrides the default settings for the entire system.
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
defaultInstallDir: The default installation directory for SingleStore DB nodes created by
memsqlctland owned by the user specified in the
usersetting. By default, a node’s data and directories are rooted in a base install directory, which is in the default install directory. To locate the default install directory on a host, run the
memsql-serverRPM and Debian packages configure
/var/lib/memsql. On hosts with a tarball-based installation,
user: The username of the user that owns everything SingleStore DB-related on this host. This includes
defaultInstallDir(and its contents),
nodeMetadataFile, and any state related to SingleStore DB 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 SingleStore DB-related files and directories and restart all SingleStore DB nodes on this host.
To prevent unintentionally running SingleStore DB 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 SingleStore DB. All state owned by memsqlctl and nodes created by memsqlctl on this machine will be owned by the
memsql linux user and group.
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"