MySQL 5.7 環境に Percona XtraBackup 2.4.5 をインストールしたときのメモ

MySQL 5.7.17 で Percona XtraBackup 2.4.5 動かそうとして、インストールでちょっとハマった。

MySQL 自体は、以下のパッケージを順に yum install して導入。

mysql-community-common-5.7.17-1.el7.x86_64
mysql-community-libs-5.7.17-1.el7.x86_64
mysql-community-devel-5.7.17-1.el7.x86_64
mysql-community-client-5.7.17-1.el7.x86_64
mysql-community-server-5.7.17-1.el7.x86_64

その後、インストールガイドを参考に Percona の yum repository を追加した上で、 xtrabackup を yum install したところ、以下のエラーが出てインストールが中断してしまいました。

$ sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
$ 読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * epel: ftp.riken.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ percona-xtrabackup-24.x86_64 0:2.4.1-1.el7 を インストール
--> 依存性の処理をしています: perl(DBD::mysql) のパッケージ: percona-xtrabackup-24-2.4.1-1.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ perl-DBD-MySQL.x86_64 0:4.023-5.el7 を インストール
--> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_18)(64bit) のパッケージ: perl-DBD-MySQL-4.023-5.el7.x86_64
--> 依存性の処理をしています: libmysqlclient.so.18()(64bit) のパッケージ: perl-DBD-MySQL-4.023-5.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ Percona-Server-shared-56.x86_64 0:5.6.34-rel79.1.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=====================================================================================================================================================================================================================================
 Package                                                       アーキテクチャー                            バージョン                                              リポジトリー                                                 容量
=====================================================================================================================================================================================================================================

インストール中:
 percona-xtrabackup-24                                         x86_64                                      2.4.1-1.el7                                             percona-release-x86_64                                      7.5 M
依存性関連でのインストールをします:
 Percona-Server-shared-56                                      x86_64                                      5.6.34-rel79.1.el7                                      percona-release-x86_64                                      617 k
 perl-DBD-MySQL                                                x86_64                                      4.023-5.el7                                             base                                                        140 k

トランザクションの要約
=====================================================================================================================================================================================================================================

インストール  1 パッケージ (+2 個の依存関係のパッケージ)

合計容量: 8.2 M
総ダウンロード容量: 7.5 M
インストール容量: 35 M
Is this ok [y/d/N]:
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
percona-xtrabackup-24-2.4.1-1.el7.x86_64.rpm                                                                                                                           | 7.5 MB  00:00:03
Running transaction check
Running transaction test


Transaction check error:
  file /etc/my.cnf from install of Percona-Server-shared-56-5.6.34-rel79.1.el7.x86_64 conflicts with file from package mysql-community-server-5.7.17-1.el7.x86_64

依存性解決のために Percona-Server-shared-56.x86_64 を入れようとし、元々入っていた mysql-community-server-5.7 と conflict してしまったらしい。mysql 側をアンインストールすればインストールは出来るのですが、 server を削除してしまっては意味がない……

この問題は依存されているパッケージを mysql 提供のもので揃えてあげることで問題が解決できました。xtrabackup が依存している perl-DBD-MySQL は、互換性補完のためのライブラリ mysql-community-libs-compat をインストールすることで依存性解決ができるようでした。libs に加え libs-compat もインストールし、再チャレンジ。

最終的なインストールコマンドはイカの通り👇

$ sudo yum install https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm
$ sudo yum install perl-DBD-MySQL
$ sudo yum install https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.5/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.5-1.el7.x86_64.rpm

これで mysql-community-server-5.7.17 をインストールした状態で、 percona-xtrabackup-2.4.5 をインストールすることができました ✌


comments powered by Disqus