Upgrade MySQL for docker on windows

To be completed by the original poster:

CMS Version

3.0.0

Installation Method

Docker

Operating System

Windows 10 HyperV

Issue

Please describe in detail the issue you are experiencing, including any errors shown in the Logs
Upgraded from 2.3.8 to 3.0.0 (on the way to the latest) and I’m getting a lot of logs like this:

Table mysql/innodb_index_stats has length mismatch in the column name table_name.  Please run mysql_upgrade

Tried to run mysql_upgrade following the published instructions to move from 5.6 to 5.7 here: Xibo CMS 2.3.10 Released - #2 by alex and getting this error: mysql_upgrade: Got error: 2002: Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2) while connecting to the MySQL server
Upgrade process encountered error and will not continue.

Can I ignore the logged error or how do I upgrade MYSQL?

I’m not very experienced with Docker so be gentle!

Hi

You need to upgrade your MySQL schema. Instructions are here:

You’ll need to adjust the command for your Windows-equivalent path.

MySQL should be listening on the socket - so I’d assume you’ve not got the path correct for your HyperV setup. I don’t use it so I can’t guide you directly I’m afraid.

It’d be something like

docker run --rm -ti -v c:\xibo\shared\db:/var/lib/mysql mysql:5.7 bash

Assuming your install is in c:\xibo.

Linux is case sensitive, so if you’ve got c:\Xibo then you’d need to use the correct case in the docker run command.

1 Like

I’m clearly being really stupid here. I’m a career windows admin, this is a foreign language to me.

My root xibo install resides at:

C:\xibo\xibo-docker

The shared folder is C:\xibo\xibo-docker\shared

I’m using the following path command:

docker run --rm -ti -v c:\xibo\xibo-docker\shared\db:/var/lib/mysql mysql:5.7 bash

This presents a prompt:

root@ff4080f1809f:/#

I issue: mysqld_safe --skip-grant-tables &

This gives me the following line:
2022-02-15T11:55:10.575193Z mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

I wait for a minute and issue: mysql_upgrade at the non existent prompt

I get the following message:
mysql_upgrade: Got error: 2002: Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2) while connecting to the MySQL server
Upgrade process encountered error and will not continue.

I’ve never had a problem with Xibo on Docker before!

That’s the problem. MySQL isn’t starting up, which is why you can’t connect to it.

Your containers from docker-compose are all definitely down? You can’t run 2 MySQL servers from the same data directory simultaneously.

1 Like

Many thanks, that seems to have worked now.

Not entirely sure why but docker-compose down was only partially working. Only the CMS was exiting and I didn’t know to check that everything else was down.

I removed and recreated the instance from compose up with the previous errors, then ran the process as per the instructions with the correct path and it worked.

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