In order to upgrade a MariaDB Galera Cluster 5.5 to MariaDB Galera Cluster 10.0, the following steps need to be performed:
- First, take a look at Upgrading from MariaDB 5.5 to MariaDB 10.0 which documents the settings in the regular MariaDB server that have been removed or been changed. You will need to make sure that your settings are compatible with 10.0 before upgrading.
- Next, make sure that the Galera version numbers are compatible. If you are upgrading from the most recent MariaDB 5.5 Galera to MariaDB 10.0 Cluster, the versions will be compatible. If you are running an older 5.5 version with Galera 25.2.x, it is recommended to first upgrade to the latest 5.5 version, running Galera 25.3.x. See Galera versions for an indication.
- Ideally, you want to have a large enough cache (gcache.size) to avoid a State Snapshot Transfer (SST). For example:
- Modify the repo URLs, for example,
- On Ubuntu:
# sudo sed -i 's/5.5/10.0/' /etc/apt/sources.list.d/MariaDB.list
- On CentOS / RHEL:
# sed -i 's/5.5/10.0/' /etc/yum.repos.d/MariaDB.repo
- On Ubuntu:
- Stop the server, for example
service mysql stopIf you use a load balancing proxy such as MaxScale or HAProxy, make sure to drain the server from the pool so it does not receive any new connections. If this is the final node being upgraded, at this point you can remove read-only from the remaining modes.
- Remove the old version, for example:
# yum remove MariaDB-Galera-server
- Update the configuration file, removing any options that are no longer supported. Also, until all the nodes are upgraded, you will want to set the node to be read-only (to prevent 10.0 propagating to 5.5, which is not supported):
read_only=ON. The final node being upgraded need not be set to read-only.
- Install the new version, for example:
# yum install MariaDB-Galera-server MariaDB-client MariaDB-shared MariaDB-common galera
- Start the service. e.g.:
# service mysql start
- Run mysql_upgrade if necessary (some distributions, such as Debian and Ubuntu, do this automatically):