You are viewing a beta version of this section. View current production version.

Introduction min read

Installing MemSQL on bare metal or on virtual machines can be done through the use of popular configuration management tools, such as CloudFormation, or through MemSQL’s management tools.

In this tutorial, you will deploy a MemSQL cluster onto physical or virtual machines and connect to the cluster using our monitoring, profiling, and debugging tool, MemSQL Studio.

A four-node cluster is the minimal recommended cluster size for showcasing MemSQL as a distributed, highly-available database; however, you can use the procedures in this tutorial to scale out to additional nodes for increased performance over large data sets or to handle higher concurrency loads. To learn more about MemSQL’s design principles and topology concepts, see Distributed Architecture.

You will learn how to deploy a cluster using APT or YUM packages with a single deployment command. This command uses default installation paths and other assumptions to quickly and easily create a cluster. If you use APT or YUM packages, but require customization for your deployment, go through the Comprehensive Install Guide instead.


There are no licensing costs for using up to four license units for the leaf nodes in your cluster. If you need a larger cluster with more/larger leaf nodes, please create an Enterprise License trial key.


For this tutorial you will need:

  • Physical or virtual machines with the following:

    • At least four CPU cores and eight GB of RAM per machine (8 vCPU and 32 GB of RAM is recommended for leaf nodes to align with license unit calculations)
    • Running 64-bit version of RHEL/CentOS (6 or higher) or Debian (8 or higher)
    • Port 3306 open on all host machines for intra-cluster communication
    • Port 8080 open on the main deployment host machine for the cluster
    • A non-root user with sudo privileges available on all host machines in the cluster that be used to run MemSQL services and own the corresponding runtime state

      Note The username memsql should be considered a reserved username and not used. It is created for system use during the installation and deployment process.

  • SSH access to all host machines (installing and using ssh-agent is recommended for SSH keys with passwords)

    • If using SSH keys, make sure the identity key used on the main deployment machine can be used to log into to the other host machines.
  • A connection to the Internet to download required packages

If running this in a production environment, it is highly recommended that you follow our host machine configuration recommendations for optimal cluster performance.

Was this article useful?