MySQL 5.7 から MySQL 8 へのアップグレード
前提条件
MySQL 5.7 から MySQL 8 へマイグレートするには、少なくとも Pandora FMS バージョン NG 760 MR 52 へアップグレードする必要があります。
- root ユーザにてターミナルウインドウを開き、次のコマンドを実行します。
mysql --version
次のような出力が得られます。
mysql Ver 14.14 Distrib 5.7.33, for Linux (x86_64) using EditLine wrapper
- データバックアップ手順を実行します。詳細は、バックアップおよびリストア手順 を参照してください。
CentOS 7
- Pandora FMS サーバと Pandora FMS ソフトウエアエージェントを停止します。
/etc/init.d/pandora_server stop /etc/init.d/pandora_agent_daemon stop
- Apache Web サーバを停止します。
systemctl stop httpd.service
または、
/etc/init.d/httpd stop
- Make a special database backup that is compatible with MySQL 8:
- MySQL 8 に互換性がある特別なデータベースバックアップを作成します。
mysqldump -u root -p pandora \ --skip-add-drop-table \ --complete-insert \ --no-create-info > backup_pandora.sql
- MySQL 5.7 での通常のバックアップを作成します。(このバージョンに戻す場合の追加の保険です)
mysqldump -u root -p pandora > backup_pandora_5.7.sql
- MySQL 設定ファイル(
my.cnf
)をバックアップします。
cp /etc/my.cnf /tmp/my.cnf.BACK
- Percona 5 リポジトリを削除します。
rpm -qa | grep Percona-Server | xargs rpm -e --nodeps
- Percona 8 リポジトリをインストールします。
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
- 前述のリポジトリを有効化します。
percona-release setup ps80
- Percona 8 をインストールします。
yum install percona-server-server
my.cnf
ファイルをリストアします。
mv /tmp/my.cnf.BACK /etc/my.cnf
query_cache_*
を無効化するようにmy.cnf
ファイルを修正します。
sed -i -e "s/^query_cache_type.*/#query_cache_type/g" /etc/my.cnf sed -i -e "s/^query_cache_size.*/#query_cache_size/g" /etc/my.cnf sed -i -e "s/^query_cache_min_res_unit.*/#query_cache_min_res_unit/g" /etc/my.cnf sed -i -e "s/^query_cache_limit.*/#query_cache_limit/g" /etc/my.cnf
- HA 環境が無い場合は、
mysqld
セクションの次のコマンドでバイナリログを無効化します。
skip-log-bin
my.cnf
ファイルのチェックには、“最適化と問題解決” も参照してください。
- MySQL サービスを起動します。
systemctl start mysql
または、
service mysqld start
- インストールされたバージョンを確認します。
mysql --version
次のような出力を確認できます。
mysql Ver 8.0.28-19 for Linux on x86_64 (Percona Server (GPL), Release 19, Revision 31e88966cd3)
- MySQL のコマンドラインで、
pandora
データベースを削除します。- 新たな
pandora
データベースを作成します。 pandora
データベースを開き、Pandora FMS Web コンソールにあるスキーマをインポートします。- データをインポートします。
- 特別な MySQL 8 互換バックアップをインポートします。
mysql -u root -p pandora
drop database pandora; create database pandora; use pandora; source /var/www/html/pandora_console/pandoradb.sql; source backup_pandora.sql;
- 必要なアクセス許可を再度追加する必要があります。
mysql
にログインしていない場合 は、 root ユーザ(パスワードは対応するものを利用)として以下を実行します:
mysql -u root -p <password>
- root としてログインしてら次のコマンドを実行します。
- パスワード検証プラグインを無効にします(オプション)。
UNINSTALL COMPONENT 'file://component_validate_password';
- ログインユーザが存在しない場合は作成します。
CREATE USER "<DBUSER>"@'%' IDENTIFIED BY "<DBPASS>";
注意 : データベースへの接続 IP アドレスを制限したい場合は、%
を接続元の IP アドレスに変更する必要があります。
mysql
にネイティブパスワードを設定します。
ALTER USER "<DBUSER>"@'%' IDENTIFIED WITH mysql_native_password BY "<DBPASS>";
- Pandora FMS データベース(
pandora
)に対して grant を行います。
GRANT ALL PRIVILEGES ON pandora.* TO "<DBUSER>"@'%';
- 変更を保存して抜けます。
flush privileges; exit
データベースの対応が完了したら、次のステップを実行します。
- Pandora FMS サーバおよび Pandora FMS ソフトウエアエージェントを起動します。
/etc/init.d/pandora_server start /etc/init.d/pandora_agent_daemon start
- Apache Web サーバを起動します。
systemctl start httpd.service
または、
/etc/init.d/httpd start
Rocky Linux 8/AlmaLinux 8/RHEL 8
- Pandora FMS サーバおよび Pandora FMS ソフトウエアエージェントを停止します。
/etc/init.d/pandora_server stop /etc/init.d/pandora_agent_daemon stop
- Apache web サーバを停止します。
systemctl stop httpd.service
または、
/etc/init.d/httpd stop
- MySQL 8 に互換性のある特別なデータベースバックアップを作成します。
mysqldump -u root -p pandora \ --skip-add-drop-table \ --complete-insert \ --no-create-info> backup_pandora.sql
- MySQL 5.7 での通常のバックアップを作成します。(このバージョンに戻す場合の追加の保険です。)
mysqldump -u root -p pandora > backup_pandora_5.7.sql
- MySQL 設定ファイル(
my.cnf
)をバックアップします。
cp /etc/my.cnf /tmp/my.cnf.BACK
- Percona 5 リポジトリを削除します。
rpm -qa | grep Percona-Server | xargs rpm -e --nodeps
- Percona 8 リポジトリをインストールします。
dnf install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
- 前述のリポジトリを有効化します。
percona-release setup ps80
- Percona 8 をインストールします。
dnf install percona-server-server
my.cnf
ファイルをリストアします。
mv /tmp/my.cnf.BACK /etc/my.cnf
query_cache_*
を無効化するためにmy.cnf
を修正します。
sed -i -e "s/^query_cache_type.*/#query_cache_type/g" /etc/my.cnf sed -i -e "s/^query_cache_size.*/#query_cache_size/g" /etc/my.cnf sed -i -e "s/^query_cache_min_res_unit.*/#query_cache_min_res_unit/g" /etc/my.cnf sed -i -e "s/^query_cache_limit.*/#query_cache_limit/g" /etc/my.cnf
- HA 環境が無い場合は、
[mysqld]
セクションの次のコマンドでバイナリログを無効化します。
skip-log-bin
my.cnf
ファイルのチェックには、“最適化と問題解決” も参照してください。
- MySQL サービスを起動します。
systemctl start mysql
または、
service mysqld start
- インストールされたバージョンを確認します。
mysql --version
次のような出力が見られます。
mysql Ver 8.0.28-19 for Linux on x86_64 (Percona Server (GPL), Release 19, Revision 31e88966cd3)
- MySQL のコマンドラインで、
pandora
データベースを削除します。- 新たな
pandora
データベースを作成します。 pandora
データベースを開き、Pandora FMS Web コンソールにあるスキーマをインポートします。- データをインポートします。
- 特別な MySQL 8 互換バックアップをインポートします。
mysql -u root -p pandora
drop database pandora; create database pandora; use pandora; source /var/www/html/pandora_console/pandoradb.sql; source backup_pandora.sql;
- Pandora FMS サーバおよび Pandora FMS ソフトウエアエージェントを起動します。
/etc/init.d/pandora_server start /etc/init.d/pandora_agent_daemon start
- Apache web サーバを起動します。
systemctl start httpd.service
または、
/etc/init.d/httpd start