MySQLのyum updateに失敗
先日zabbixサーバをupgradeしたので、監視をしているサーバたちのzabbix agentも遅ればせながらupgrade。
手順は https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm にあるrpmで現行zabbixリポジトリをupgradeして yum upgradeするだけ。
ところで、そのupgrade作業中にDBサーバでMySQLのリポジトリが習得できない現象。こんなエラーがでてきました。
# yum check-update 読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-manager mysql-connectors-community | 2.5 kB 00:00:00 http://repo.mysql.com/yum/mysql-connectors-community/el/7/SRPMS/repodata/repomd.xml: [Errno -1] Error importing repomd.xml for mysql-connectors-community-source: Damaged repomd.xml file
うーん、なんだかよくわからない。repo.mysql.com上にあるリポジトリが壊れてるようなメッセージだけど、そんなことあるのかな。
現在利用しているアプリケーションも無いこと、それにインストールされているバージョンが5.7とちょっと古いのでupgradeすることに。
最新のrpmをで新しいリポジトリをインストール。
# yum localinstall /tmp/mysql80-community-release-el7-2.noarch.rpm 読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-manager /tmp/mysql80-community-release-el7-2.noarch.rpm を調べています: mysql80-community-release-el7-2.noarch /tmp/mysql80-community-release-el7-2.noarch.rpm をインストール済みとして設定しています 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ mysql80-community-release.noarch 0:el7-2 を インストール --> 衝突を処理しています: mysql80-community-release-el7-2.noarch は mysql57-community-release と衝突しています mysql-connectors-community | 2.5 kB 00:00:00 http://repo.mysql.com/yum/mysql-connectors-community/el/7/SRPMS/repodata/repomd.xml: [Errno -1] Error importing repomd.xml for mysql-connectors-community-source: Damaged repomd.xml file 他のミラーを試します。
なんかエラー。現行のリポジトリと衝突してるからやだと。
じゃあ現行リポジトリは消します。
# rpm -e mysql57-community-release-el7-10.noarch 警告: /etc/yum.repos.d/mysql-community-source.repo は /etc/yum.repos.d/mysql-community-source.repo.rpmsave として保存されました。
再度インストール。
# yum localinstall /tmp/mysql80-community-release-el7-2.noarch.rpm 読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-manager /tmp/mysql80-community-release-el7-2.noarch.rpm を調べています: mysql80-community-release-el7-2.noarch /tmp/mysql80-community-release-el7-2.noarch.rpm をインストール済みとして設定しています 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ mysql80-community-release.noarch 0:el7-2 を インストール --> 依存性解決を終了しました。 (中略) 依存性を解決しました ======================================================================================================================= Package アーキテクチャー バージョン リポジトリー 容量 ======================================================================================================================= インストール中: mysql80-community-release noarch el7-2 /mysql80-community-release-el7-2.noarch 31 k トランザクションの要約 ======================================================================================================================= インストール 1 パッケージ 合計容量: 31 k インストール容量: 31 k
これでリポジトリは新しくなった。あとはyum upgrade。その後 mysql_upgradeを動かす。
$ mysql_upgrade -u root -p