Installing Ghost on recommended set fails at MySQL checking stage


Getting stuck at the DB setup stage. Tried creating a database, user and password first with all the correct permission, and then using that.

Then tried using the root user and password and letting ghost setup create the DB. Which it actually did, as well as a user, but still complained about incorrect username and password.

The ONLY difference from the standard setup is that I am using MariaDB, but I’ve always been told (and found) that it’s a 100% drop-in compatible for MySQL so…?

Server version: 10.1.27-MariaDB-1~xenial binary distribution

Debug Information:
OS: Ubuntu, v16.04
Node Version: v6.14.3
Ghost-CLI Version: 1.8.1
Environment: production
Command: ‘ghost setup’

✖ Running database migrations
A ConfigError occurred.

Error detected in the production configuration.

Message: Invalid database username or password
Configuration Key(s): database.connection.user / database.connection.password
Current Value(s): kab / XXXX

ghost doctor
✔ Checking system Node.js version
✔ Checking logged in user
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
✔ Checking operating system compatibility
✔ Checking for a MySQL installation
Running sudo command: systemctl is-active ghost_kab-xxxxk
✔ Validating config
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability

 "database": {
    "client": "mysql",
    "connection": {
      "host": "localhost",
      "user": "ghost-662",
      "password": "XXXXX",
      "database": "kab"


Whatever the problem is, it shouldn’t be related to using MariaDB. I’ve been using MariaDB with Ghost forever without any issues. Currently on Ghost 1.24.6 and MariaDB 10.1.34 without issue.

I installed by creating the MySQL user & database first, then plugging those credentials in during setup. My config.production.json file looks like this:

  "url": "",
  "server": {
    "port": 2368,
    "host": ""
  "database": {
    "client": "mysql",
    "connection": {
      "host": "localhost",
      "user": "username",
      "password": "password",
      "database": "ghost_db_name"
  "mail": {
    "transport": "Direct"
  "logging": {
    "transports": [
  "process": "systemd",
  "paths": {
    "contentPath": "/var/www-10ghost/content"

closed #3

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.