# SingleStore Client Installation

## Install SingleStore Client

* *Red Hat Distribution*

  ## Online InstallationFor online installations where the target host can access the SingleStore YUM repository, perform the following steps.**Note**: These steps are also provided in the [self-managed deployment guides](https://docs.singlestore.com/db/v9.1/deploy.md).1) Add the SingleStore repository to your repository list.
     ```shell
     sudo yum-config-manager --add-repo https://release.memsql.com/production/rpm/x86_64/repodata/memsql.repo

     ```

  2) Verify that the SingleStore repo information is listed under `repolist`.
     ```shell
     sudo yum repolist

     ```

  3) Verify that the `which` package installed. This is used during the install process to identify the correct package type for your installation.
     ```shell
     rpm -q which

     ```
     If `which` is not installed, it must be installed before proceeding.

     If you cannot install `which`, you will have to specify the correct package during the deployment phase covered in the respective deployment guide.
     ```shell
     sudo yum install -y which

     ```

  4) Install the SingleStore client.
     ```shell
     sudo yum install -y singlestore-client

     ```## Offline InstallationFor clusters that must be deployed in an environment without Internet access, download the SingleStore client package onto a host that can access the main deployment host.Copy the SingleStore client package onto the target host (typically the main deployment host when deploying SingleStore) and install the SingleStore client.```shell
  sudo rpm -ivh /tmp/singlestore-client-<version>-<commit-hash>.x86_64.rpm

  ```

* *Debian Distribution*

  ## Online InstallationFor online installations where the target host can access the SingleStore APT repository, perform the following steps.**Note**: These steps are also provided in the [self-managed deployment guides](https://docs.singlestore.com/db/v9.1/deploy.md).1) SingleStore packages are signed to ensure integrity, so the GPG key needs to be added to this host. When done, verify that the SingleStore signing key has been added using `apt-key list`.
     ```shell
     wget -O - 'https://release.memsql.com/release-aug2018.gpg' 2>/dev/null | sudo apt-key add - && apt-key list

     ```
     **Without using `apt-key`**:
     ```shell
     wget -q -O - 'https://release.memsql.com/release-aug2018.gpg' | sudo tee /etc/apt/trusted.gpg.d/memsql.asc 1>/dev/null
     ```

  2) Verify that `apt-transport-https` is installed.
     ```shell
     apt-cache policy apt-transport-https

     ```
     If `apt-transport-https` is not installed, it must be installed before proceeding.
     ```shell
     user-shell sudo apt -y install apt-transport-https
     ```

  3) Add the SingleStore repository to retrieve its packages.
     ```shell
     echo "deb [arch=amd64] https://release.memsql.com/production/debian memsql main" | sudo tee /etc/apt/sources.list.d/memsql.list

     ```

  4) Install the SingleStore client.
     ```shell
     sudo apt update && sudo apt -y install singlestore-client

     ```## Offline InstallationFor clusters that must be deployed in an environment without Internet access, download the SingleStore client package onto a host that can access the main deployment host.Copy the SingleStore client package onto the target host (typically the main deployment host when deploying SingleStore) and install the SingleStore client.```shell
  sudo dpkg -i /tmp/singlestore-client_<version>_<commit-hash>_amd64.deb

  ```

* *Tarball*

  ## Download the SingleStore ClientDownload the SingleStore client tarball file onto a host that can access the main deployment host.## Transfer the SingleStore ClientTransfer the SingleStore client tarball file into a dedicated `singlestore` directory on the target host (typically the main deployment host when deploying SingleStore) that has been configured so that non-`sudo` users can access it, such as `/opt/singlestore`.## Unpack the SingleStore ClientUnpack the SingleStore client tarball file into the `singlestore` directory.```shell
  tar xzvf singlestore-client-<version>-<commit-hash>.x86_64.tar.gz

  ```Using symbolic links (or "symlinks") can make using and upgrading the SingleStore client easier. Performing the following steps will allow the `singlestore` command to be run from anywhere on the filesystem, even after an upgrade by updating the symlink.1) Navigate to the directory that contains the unpacked SingleStore client tarball file and create a `singlestore-client` symlink that points to the SingleStore client directory.
     ```shell
     ln -s singlestore-client-<version>-<commit-hash> singlestore-client
     ```

  2) Verify that the symlink has been created.
     ```shell
     ls -l

     ```
     ```output

     singlestore-client -> singlestore-client-1.0.6-c3803db03b

     ```

  3) Update the `PATH` environment variable with the path to the new `singlestore-client` directory. This path can also be added to your shell startup file so you won't have to run this command each time you log in.
     ```shell
     export PATH=/opt/singlestore/singlestore-client:$PATH
     ```

  4) You may now run the `singlestore` command from anywhere on the filesystem.
     ```shell
     singlestore
     ```

## Upgrade SingleStore Client

* *Red Hat Distribution*

  To upgrade the SingleStore client, use the same steps for upgrading any RPM package.**Online**```shell
  sudo yum update -y singlestore-client

  ```**Offline**1) Download the SingleStore client package.



  2) Upgrade the SingleStore client.
     ```shell
     sudo rpm -Uvh /tmp/singlestore-client-<version>-<commit-hash>.x86_64.rpm

     ```

* *Debian Distribution*

  To upgrade the SingleStore client, use the sane steps for upgrading any Debian package.**Online**1) SingleStore packages are signed to ensure integrity, so the GPG key needs to be added to this host. When done, verify that the SingleStore signing key has been added using `apt-key list`.
     ```shell
     wget -O - 'https://release.memsql.com/release-aug2018.gpg' 2>/dev/null | sudo apt-key add - && apt-key list
     ```
     **Without using `apt-key`**:
     ```shell
     wget -q -O - 'https://release.memsql.com/release-aug2018.gpg' | sudo tee /etc/apt/trusted.gpg.d/memsql.asc 1>/dev/null
     ```

  2) Upgrade the SingleStore client.
     ```shell
     sudo apt update && sudo apt install -y singlestore-client

     ```**Offline**1) Download the SingleStore client package.



  2) Upgrade the SingleStore client.
     ```shell
     sudo dpkg -i /tmp/singlestore-client_<version>_<commit-hash>_amd64.deb

     ```

* *Tarball*

  To upgrade the SingleStore client, you must manually replace the existing SingleStore client with a new one.1) Obtain the latest version of the SingleStore client.
     ```shell
     curl https://release.memsql.com/production/index/memsqlclient/latest.json
     ```
     The JSON returned contains a relative path to the `singlestore-client-tar` file in the following format.
     ```shell
     "Path": "production/tar/x86_64/singlestore-client-<version>-<commit-hash>.x86_64.tar.gz"
     ```

  2) Use `wget` to download the file by copying, pasting, and appending the path to <https://release.memsql.com/>. For example:
     ```shell
     wget https://release.memsql.com/production/tar/x86_64/singlestore-client-<version>-<commit-hash>.x86_64.tar.gz
     ```
     As an alternative, you may download the latest version of the SingleStore client tarball file using the following link.



  3) Transfer the SingleStore client tarball file to the main deployment host where the existing SingleStore client has been installed.

  4) Unpack the SingleStore client tarball file. This directory will now contain two versions of the SingleStore client: the existing version, and the new version.
     ```shell
     tar xzvf singlestore-client-<version>-<commit-hash>.x86_64.tar.gz
     ```Using symbolic links (or "symlinks") can make using and upgrading the SingleStore client easier. Performing the following steps will allow the `singlestore` command to be run from anywhere on the filesystem, even after an upgrade.1) Check if a `singlestore-client` symlink already exists within the current directory.
     ```shell
     ls -l
     ```
     If so, remove the existing `singlestore-client` symlink.
     ```shell
     rm singlestore-client
     ```

  2) Create a `singlestore-client` symlink by pointing it to the new version of the SingleStore client directory.
     ```shell
     ln -s singlestore-client-<version>-<commit-hash> singlestore-client
     ```

  3) Verify that the symlink has been created.
     ```shell
     ls -l

     ```
     ```output

     singlestore-client -> singlestore-client-1.0.6-c3803db03b
     ```

  4) Update the `PATH` environment variable with the path to the new `singlestore-client` directory. This path can also be added to your shell startup file so you won't have to run this command each time you log in.
     ```shell
     export PATH=/opt/singlestore/singlestore-client:$PATH
     ```

  5) You may now run the `singlestore` command from anywhere on the filesystem.
     ```shell
     singlestore
     ```The upgrade is now complete.Should you encounter any issues with the new SingleStore client, you can simply point the `singlestore-client` symlink back to the previous version.After validating that the new version of the SingleStore client is working as expected, you may remove the previous version.```shell
  rm -rf singlestore-client-<version>-<commit-hash>
  ```

## Uninstall SingleStore Client

* *Red Hat Distribution*

  You may either uninstall the SingleStore client individually or remove it while uninstalling SingleStore. If you want to completely uninstall SingleStore and its related Tools packages, first [uninstall SingleStore](https://docs.singlestore.com/db/v9.1/user-and-cluster-administration/maintain-your-cluster/upgrade-or-uninstall-singlestore/uninstall-singlestore.md) from your nodes by using the `sdb-deploy uninstall` command. This will remove the `singlestoredb-server` package for that version of SingleStore. To uninstall all versions of SingleStore, include the `--all-versions` flag.> **❗ Important**: The `remove` command and `-e` flag will only remove the binaries in the package and not remove any configuration files.Run the following command to uninstall the SingleStore client.**Online**```shell
  sudo yum remove singlestore-client

  ```**Offline**```shell
  sudo rpm -e singlestore-client

  ```

* *Debian Distribution*

  You may either uninstall the SingleStore client individually or remove it while uninstalling SingleStore. If you want to completely uninstall SingleStore and its related Tools packages, first [uninstall SingleStore](https://docs.singlestore.com/db/v9.1/user-and-cluster-administration/maintain-your-cluster/upgrade-or-uninstall-singlestore/uninstall-singlestore.md) from your nodes by using the `sdb-deploy uninstall` command. This will remove the `singlestoredb-server` package for that version of SingleStore. To uninstall all versions of SingleStore, include the `--all-versions` flag).Run the following command to uninstall the SingleStore client.> **❗ Important**: The `purge` command and `-P` flag will remove the binaries in the package as well as any configuration files.To keep the configuration files, use the `remove` command or `-r` flag instead.**Online**```shell
  sudo apt purge singlestore-client

  ```**Offline**```shell
  sudo dpkg -P /tmp/singlestore-client_<version>_<commit-hash>_amd64.deb

  ```

* *Tarball*

  Run the following commands to uninstall the SingleStore client.1) Change to the directory where the SingleStore client has been installed.
     ```shell
     cd /opt/singlestore
     ```

  2) Remove the SingleStore client directory (or directories, if more than one version has been installed).
     ```shell
     rm -rf singlestore-client-<version>-<commit-hash>
     ```

***

Modified at: May 7, 2021

Source: [/db/v9.1/user-and-cluster-administration/cluster-management-with-tools/singlestore-tools-installation/singlestore-client-installation/](https://docs.singlestore.com/db/v9.1/user-and-cluster-administration/cluster-management-with-tools/singlestore-tools-installation/singlestore-client-installation/)

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