Upgrading a Docker Installation of MySQL

Before upgrading the docker installation of MySQL, ensure that the below mentioned steps have been followed −

  • Download a MySQL server docker image.

  • Start a MySQL server instance.

  • Connect to MySQL server instance from within the container.

Following are the steps to upgrade a Docker installation of MySQL 5.7 to 8.0 −

  • Stop the MySQL 5.6 server using the below command. Here mysql56 is the name of the container.

docker stop mysql56
  • Download the MySQL 5.7 Server Docker image.

  • Start a new MySQL 5.7 Docker container with the help of the old server data and configuration.

  • Perform modifications if required.

  • If MySQL community server is present, run the below command −

docker run --name=mysql57 \
--mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf \
--mount type=bind,src=/path-on-host-machine/datadir,dst=/var/lib/mysql \
-d mysql/mysql-server:5.7
  • If required, adjust mysql/mysql-server to the correct repository name.

  • Wait for the server to finish the startup operations.

  • The status of the server can be checked for using the ‘docker ps’ command.

  • Run the mysql_upgrade utility in the MySQL 5.7 Server container using the below command −

docker exec -it mysql57 mysql_upgrade -uroot -p
  • When it prompts, enter the root password for the old MySQL 5.6 Server.

  • Finish the upgrade by restarting the MySQL 5.7 Server container using the below command −

docker restart mysql57