Post History
systemctl is a tool for controlling systemd, the "new" Linux init system (actually it's been widely used for 10 years now). Systemd is the first process that runs at boot, which then brings up all ...
Answer
#1: Initial revision
`systemctl` is a tool for controlling [systemd](https://en.wikipedia.org/wiki/Systemd), the "new" Linux init system (actually it's been widely used for 10 years now). Systemd is the first process that runs at boot, which then brings up all the rest of the OS. It also handles various background processes like system services. WSL does not boot the way a normal Linux would, so it does not have a working systemd. That's why `systemctl` will not work. Since you are on Windows, it is possible to instead set up the MariaDB on Windows directly, using Windows services. A basic set up normally results in MariaDB listening on localhost, and you should then be able to connect to it from inside WSL. Of course, Windows's CLI is quite different from Linux/Unix. I would recommend running a [Dockerized instance](https://hub.docker.com/_/mariadb) of it. You'll have to install Docker first, but that's well documented and MariaDB (and any other container) will be easy afterwards. With containers: * It's all set up for you already and you don't have to deal with configuring * If you do want to create your own DIY container, the Dockerfile makes it much easier to develop & troubleshoot because it's deterministic and reproducible * Systemd doesn't run normally in Docker either, but it's much better documented how to deal with issues like this (plus the official MariaDB image for example has already taken care of that for you, so you don't even need to care) * If you decide to deploy your app to a real server later, you can use the same Docker image as is instead of having to set up and configure the DB again