CentOS7標準のMariaDBは5.5(MySQL 5.5相当)であるが、CentOS8では10.3となりMySQLのバージョンで言えば5.8相当(ただし、バージョンが進むにつれて機能差分も出てきているのであくまで参考程度)となる。
いきなり10.3にアップグレードするのは怖いので、試験用VPSでCentOS7からMariaDB10.3にしてみよう。ちなみにMariaDB5.5のmysqldumpイメージは10.3に流し込んだらuserテーブルがすでに存在するとのエラーで使えなかったという!
アップグレード自体は公式HPに乗っているワンライナーでリポジトリを追加して、yum installするだけだ。自分の場合percona-toolkitを入れていたのでそちらがコンフリクトした。泣く泣く削除(percona-toolkitほとんど使ってないけど)
yum list installed | grep percona
yum remove percona-release percona-toolkit
# repositoryインストール
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
# mariadb 10.3インストール
yum install MariaDB-server MariaDB-client
無事アップグレードして、mysqlクライアントから接続成功だが!
mysqldumpしてみるとエラーが発生。ネットの情報を頼りにmysql_upgradeして再実行で無事成功!
# mysql 全体バックアップ
mysqldump -u root -p -x –flush-logs –master-data=2 –all-databases –events > /var/tmp/backupsql.sql
# エラー!!!
mysqldump: Couldn’t execute ‘show events’: Cannot proceed, because event scheduler is disabled (1577)
# バージョン違いのDBをアップグレードする!
mysql_upgrade -u root -p –verbose