Install ClickHouse on Windows with WSL

[Edit this page](https://github.com/ClickHouse/clickhouse-docs/blob/main/docs/getting-started/install/windows.md)

## Requirements[​](#requirements "Direct link to Requirements")

Note

To install ClickHouse on Windows you will need WSL (Windows Subsystem for Linux).

Install WSL

## Install WSL[​](#install-wsl "Direct link to Install WSL")

Open Windows PowerShell as administrator and run the following command:

```
wsl --install
```

You will be prompted to enter a new UNIX username and password. After you have
entered your desired username and password you should see a message similar to:

```
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 5.15.133.1-microsoft-WSL2 x86_64)
```

Install ClickHouse via script using curl

## Install ClickHouse via script using curl[​](#install-clickhouse-via-script-using-curl "Direct link to Install ClickHouse via script using curl")

Run the following command to install ClickHouse via script using curl:

```
curl https://clickhouse.com/ | sh
```

If the script has successfully run you will see the message:

```
Successfully downloaded the ClickHouse binary, you can run it as:
  ./clickhouse
```

Start clickhouse-local

## Start clickhouse-local[​](#start-clickhouse-local "Direct link to Start clickhouse-local")

`clickhouse-local` allows you to process local and remote files using ClickHouse's
powerful SQL syntax and without the need for configuration. Table data is stored
in a temporary location, meaning that after a restart of `clickhouse-local`
previously created tables are no longer available.

Run the following command to start [clickhouse-local](/docs/operations/utilities/clickhouse-local):

```
./clickhouse
```

Start clickhouse-server

## Start clickhouse-server[​](#start-clickhouse-server "Direct link to Start clickhouse-server")

Should you wish to persist data, you'll want to run `clickhouse-server`. You can
start the ClickHouse server using the following command:

```
./clickhouse server
```

Start clickhouse-client

## Start clickhouse-client[​](#start-clickhouse-client "Direct link to Start clickhouse-client")

With the server up and running, open a new terminal window and run the following command
to launch `clickhouse-client`:

```
./clickhouse client
```

You will see something like this:

```
./clickhouse client
ClickHouse client version 24.5.1.117 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 24.5.1.

local-host :)
```

Table data is stored in the current directory and still available after a restart
of ClickHouse server. If necessary, you can pass
`-C config.xml` as an additional command line argument to `./clickhouse server`
and provide further configuration in a configuration
file. All available configuration settings are documented [here](/docs/operations/server-configuration-parameters/settings) and in the
[example configuration file
template](https://github.com/ClickHouse/ClickHouse/blob/master/programs/server/config.xml).

You're now ready to start sending SQL commands to ClickHouse!

- [Requirements](#requirements)- [Install WSL](#install-wsl)- [Install ClickHouse via script using curl](#install-clickhouse-via-script-using-curl)- [Start clickhouse-local](#start-clickhouse-local)- [Start clickhouse-server](#start-clickhouse-server)- [Start clickhouse-client](#start-clickhouse-client)

Was this page helpful?