Fatal Error - sorry this shouldn't happen. SQLSTATE[42S02]: Base table or view not found: 1146 Table 'cms.setting' doesn't exist

Trying to replace an Ubuntu server with Windows 10,

I’ve installed docker,
Shared the drive
downloaded the setup files in c:\xibo
run docker-compose up -d
but get Fatal Error - sorry this shouldn’t happen. SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘cms.setting’ doesn’t exist

Any ideas?

Thanks

Gary

Hello Garry,

I just had this issue. Make sure in your config.env file theres no space between your password and equals sign in MYSQL_PASSWORD=PASSWORD. Also make sure that your password is alpha-numeric only (i.e. A-Z a-z 0-9 only).

After that, do the following:

docker-compose down
sudo rm -r shared
docker-compose up -d

Thanks for the reply,

started again from scratch but now get;

Fatal Error - sorry this shouldn’t happen. SQLSTATE[28000] [1045] Access denied for user ‘cms’@‘172.18.0.4’ (using password: NO)

I have changed the password only in the config:

## CMS Configuration

## Please make a copy of this file as config.env, and then
## edit it to suit your environment

## The CMS brings its own MySQL server to store your
## data. 
## On a new installation, we need to create a user account for the CMS to
## connect to that database with. What password should
## that account use? Enter a random password here.
## We recommend using a 16 character random upper/lower case
## and digits.
## You could for example use the random.org password generator
## here: https://www.random.org/passwords/?num=1&len=16&format=plain&rnd=new
##
## If you're upgrading an existing installation, be sure to use the correct
## password for the cms user account in the MySQL database (ie what you had in
## this variable previously).

MYSQL_PASSWORD=

xibo ## SMTP Server Configuration
## The CMS needs to be able to send email to you
## Please enter credentials for a suitable SMTP server
## Defaults will work for GMail - replacing your GMail username
## and password as appropriate. You will also need to enable access
## for less secure applications on your GMail account for this to
## work. See https://support.google.com/accounts/answer/6010255

## SMTP Server Hostname
CMS_SMTP_SERVER=smtp.gmail.com:587
## SMTP Username
CMS_SMTP_USERNAME=youraccount@gmail.com
## SMTP Password
CMS_SMTP_PASSWORD=yourpassword
## Use a TLS Connection YES/NO
CMS_SMTP_USE_TLS=YES
## Use a STARTTLS Connection YES/NO
CMS_SMTP_USE_STARTTLS=YES
## Rewrite domain (the domain your email will appear to come from)
CMS_SMTP_REWRITE_DOMAIN=gmail.com
## Hostname that we should identify ourself to the remote server as
CMS_SMTP_HOSTNAME=gmail.com
## Can the From line be overridden in the outbound email
## NB GMail will rewrite the From address anyway so it's not important
## for GMail - YES/NO
CMS_SMTP_FROM_LINE_OVERRIDE=YES

## It is sometimes necessary to configure the webserver running inside
## the container to know the DNS name by which you will normally
## access the CMS. For most installations this is unnecessary and can
## be left as default, however, if you know this, it won't hurt to
## set it
CMS_SERVER_NAME=cms.example.org

## Sometimes you want Xibo to run in a sub directory of the webserver
## rather than at the root. If so, specify it here. Comment it out to
## use the web root.
# CMS_ALIAS=/xibo

The config you posted has nothing set for the password.

All you need to do, is go to the link in the comment. Generate a new random password, and enter it on the line

MYSQL_PASSWORD=

for example

MYSQL_PASSWORD=qxUqjcbdZe2audW4

Then bring the containers up.

Since you have a failed installation already, you need to cleanup first:

docker-compose down
sudo rm -r shared
docker-compose up -d

It’s set okay in config file, for some reason doesn’t copy and paste correctly here

The only reason you’d get the error you’re getting, is if that isn’t set, is set to something that isn’t alpha-numeric, or it wasn’t set when shared and your containers were created.

You must set that, and then run the commands I said to clean up, and then bring the containers up.