MariaDBのアップデートができない(10.1→10.5)
TOP › Forums › バグ報告と提案(Requests and Feedback) › MariaDBのアップデートができない(10.1→10.5)
MariaDBのアップデートができない(10.1→10.5)
Tagged: mariadb
- This topic has 8 replies, 2 voices, and was last updated 2 years ago by
cloudy.
-
AuthorPosts
-
-
2022年7月2日 at 19:30 #978
お世話になります。
現在、個人ブログでKUSANAGIを使用しております。
以下、相談しない内容の経緯です。① 使用しているWordpressテーマが、「現在のPHPバージョン(7.3.10)では動作しない」というアラートが出力されました。
② PHP7.4はEOLがあるため、PHP8にアップデートしようと考えました。
③ 「yum update -y」 を実行したところ、MariaDBに関するエラーが出力されました。yum update -y
④ 10.1なので、10.5にあげないといけないと思い、「kusanagi upgrade mariadb 10.5」を実行しました。
⑤しかし、「MariaDBは既にアップグレードされています。完了しました。」と出力されます。「kusanagi status」で確認しても10.1のままです。特にエラーが出力されていないため、次のアクションに悩んでしまい、この度投稿させていただきました。
-
2022年7月2日 at 19:35 #979
失礼いたしました。
途中で投稿してしまいました。③で起きた内容です。
http://yum.mariadb.org/10.1/centos7-amd64/repodata/3a7d188d8582a6f19501beacd187e9bfc571ebb572b74167fd71aed190b9c778-filelists.sqlite.bz2: [Errno 14] HTTP Error 404 – Not Found
他のミラーを試します。[中略]
failure: repodata/3a7d188d8582a6f19501beacd187e9bfc571ebb572b74167fd71aed190b9c778-filelists.sqlite.bz2 from mariadb: [Errno 256] No more mirrors to try.
http://yum.mariadb.org/10.1/centos7-amd64/repodata/3a7d188d8582a6f19501beacd187e9bfc571ebb572b74167fd71aed190b9c778-filelists.sqlite.bz2: [Errno 14] HTTP Error 404 – Not Found
以下、FAQを確認しまして、MariaDBの10.1だからダメなのだと判断し、10.5に上げようと考えました。
ーーーー
以下、KUSANAGIの現在の状況です。Profile: WordPress
FQDN: pursue.fun
Type: WordPress
KUSANAGI Version 8.4.3-2
conoha*** (active) nginx ***
● nginx.service – The NGINX HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since 土 2022-07-02 16:21:42 JST; 3h 12min ago*** (active) php7-fpm ***
● php7-fpm.service – The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php7-fpm.service; enabled; vendor preset: disabled)
Active: active (running) since 土 2022-07-02 16:21:42 JST; 3h 12min ago*** (active) MariaDB ***
● mariadb.service – MariaDB 10.1.41 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since 木 2019-10-31 23:44:24 JST; 2 years 8 months ago*** ruby ***
ruby 2.4.6p354 (2019-04-01 revision 67394) [x86_64-linux]*** add-on ***
*** Cache Status ***
bcache off
fcache off*** WAF ***
off*** SELinux ***
off (permanent)完了しました。
-
2022年7月3日 at 01:28 #980
yutori さん、こんにちは。
kusanagi status の情報をありがとうございます。
KUSANAGI 8 Version 8.4.3-2 ですね。
複数問題があるようなので、分けて考えていただければと思います。
それぞれ解説します。1. kusanagi upgrade mariadb 10.5 コマンド
こちらは KUSANAGI 8.6.0-1 以上で使用可能なコマンドです。
ご使用の KUSANAGI 8 のバージョンは 8.4.3-2 なので、そもそも正常に実行できていない恐れがあります。2. KUSANAGI 8 最新版にアップデート
1.の理由により KUSANAGI 8 自体のバージョンが古いことが問題です。
トップページにも記載がある通り、KUSANAGI 8 最新版にアップデートすると問題が解決することがあります。yum update kusanagi
yum update –enablerepo=remi,remi-php56今回のコマンド実行できなかったケースは、まさに上記に該当します。
バージョンアップを行う前には、必ずバックアップを取っておいてください。
また、パッケージのバージョンアップ後はサーバーの再起動をしてください。3. KUSANAGI 8 最新版にアップデートに失敗する
2.の作業で失敗した場合です。
私の予想ですが、2.は失敗するのではないでしょうか?
そして、今回の問題はこの項目が解決できればすべて解決するでしょう。エラーを読む限り、MariaDB 10.1 のパッケージがないために起こっている状況です。
こういうケースでは、一時的にエラーを起こしているパッケージを無視するとうまくいく場合があります。FAQ に記載がある通り、エラーを起こしているパッケージを無視させるには
--disablerepo
を使用します。
FAQ では別パッケージの例が出ていますが、原理は同じです。yum clean all
yum update –disablerepo=mariadbKUSANAGI 8 FAQ – Q5. yum のアップデートを実行すると、エラーが出力されてアップデートできません。
以下のコマンドのとおり、 yum アップデート時に認証に失敗するリポジトリを対象外指定をして〜 の部分エラーで実行できなかった場合は、理由はエラーメッセージに書かれているとおりなので、そのエラーのモジュールを一時的に –disablerepo に追加します。
上記のアップデートが上手く実行できた場合は、2.に戻って改めてパッケージ類をアップデートしてください。こちらのエラーの原因は FAQ でも書かれている通り、KUSANAGI ベースイメージの CentOS 側で MariaDB 10.1 のサポートが完全に終了しているため表示されるものです。
KUSANAGI 8 自体のバージョンアップがこまめにされていないようですので、今回のアップデート時に大きな差分ができ発生したと思われます。
こまめなアップデートを推奨します。4. MariaDB 10.5 への移行
3.まで完了すると kusanagi upgrade mariadb 10.5 コマンドが使用できると思います。
バージョンアップを行う前には、必ずバックアップを取っておいてください。MariaDB のバージョンアップ後はサーバーの再起動をしてください。
質問には記載はありませんでしたので、もしかしたら作業漏れているのかも?と思っています。以上、ご確認ください。
-
2022年7月3日 at 02:31 #981
yutori さん、追記です。
今回の目的は PHP 8 系を使用したいということですが、タイトルやタグが MariaDB に関する内容であったため、上記回答にとどめております。
—
MariaDB 10.1 は FAQ にも記載がある通り、出来うる限り 10.3 以上へアップデートおすすめしています。
ただし、MariaDB の最新リリースでは EOL の取り扱い方が変わっているのでご注意ください。https://mariadb.com/newsroom/press-releases/mariadb-announces-new-innovation-release-model/
* MariaDB 10.6 以前: リリースから 5 年のサポート期間
* MariaDB 10.7 以降: リリースバージョンによりサポート期間が 1 年もしくは 5 年MariaDB 10.8 / 10.7 などは最新のように見えますが、LTS ではないためサポート期間が 1 年しかなくサポート終了が早いためおすすめしません。
現在、LTS (長期サポート) されている MariaDB バージョンは 10.6 / 10.5 / 10.4 / 10.3 となっています。
特にこだわりがないようでしたら、KUSANAGI 8 最新版で初期設定の MariaDB 10.5 をご利用になると良いと思います。
※この情報は、この回答を参考にされる他の方の記録としても残しておきます。MariaDB バージョンごとの EOL
https://mariadb.com/kb/en/mariadb-server-release-dates/ -
2022年7月3日 at 06:30 #982
cloudy様
まさかこんなに早くご回答頂けるとは思ってもいませんでした。
ご丁寧にありがとうございます。> 特にこだわりがないようでしたら、KUSANAGI 8 最新版で初期設定の MariaDB 10.5 をご利用になると良いと思います。
MariaDBに関する追加情報もありがとうございます。こだわりもございませんので、cloudy様からおすすめいただいたように致します。ーーー
いただいた回答をもとに試してみたのですが、③で同じエラー(MariaDBのパッケージが無い旨)が出てしまいました・・・。
②を実行した後の状況です。
ーーー
yum update –enablerepo=remi,remi-php56failure: repodata/3a7d188d8582a6f19501beacd187e9bfc571ebb572b74167fd71aed190b9c778-filelists.sqlite.bz2 from mariadb: [Errno 256] No more mirrors to try.
http://yum.mariadb.org/10.1/centos7-amd64/repodata/3a7d188d8582a6f19501beacd187e9bfc571ebb572b74167fd71aed190b9c778-filelists.sqlite.bz2: [Errno 14] HTTP Error 404 – Not Foundyum clean all
yum update -y –disablerepo=mariadb ca-certificates
↑リンク先を参照しつつコマンド実行したため、cloudy様が記載してくださったコマンドとは異なります。間違えてしまいました。=================================================================================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
=================================================================================================================================================================================
更新します:
ca-certificates noarch 2021.2.50-72.el7_9 updates 379 kトランザクションの要約
=================================================================================================================================================================================
更新 1 パッケージ総ダウンロード容量: 379 k
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
ca-certificates-2021.2.50-72.el7_9.noarch.rpm | 379 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
更新します : ca-certificates-2021.2.50-72.el7_9.noarch 1/2
整理中 : ca-certificates-2018.2.22-70.0.el7_5.noarch 2/2
検証中 : ca-certificates-2021.2.50-72.el7_9.noarch 1/2
検証中 : ca-certificates-2018.2.22-70.0.el7_5.noarch 2/2更新:
ca-certificates.noarch 0:2021.2.50-72.el7_9完了しました!
コマンドを間違えていたことに気づき、cloudy様が書いてくださっていたコマンドを再度実行
yum clean all
yum update –disablerepo=mariadb–> 依存性解決を終了しました。
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libicuio.so.69()(64bit)
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libonig.so.105()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libicuio.so.69()(64bit)
エラー: パッケージ: kusanagi-nginx-1.21.6-2.noarch (kusanagi)
要求: libgd.so.103()(64bit)
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libicudata.so.69()(64bit)
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libgd.so.103()(64bit)
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libicuuc.so.69()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libicudata.so.69()(64bit)
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libicui18n.so.69()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libgd.so.103()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libonig.so.105()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libicuuc.so.69()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libicui18n.so.69()(64bit)
問題を回避するために –skip-broken を用いることができます。
これらを試行できます: rpm -Va –nofiles –nodigestOne of the configured repositories failed (MariaDB),
and yum doesn’t have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work “fix” this:1. Contact the upstream for the repository and get them to fix the problem.
2. Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).3. Run the command with the repository temporarily disabled
yum –disablerepo=mariadb …4. Disable the repository permanently, so yum won’t use it by default. Yum
will then just ignore the repository until you permanently enable it
again or use –enablerepo for temporary usage:yum-config-manager –disable mariadb
or
subscription-manager repos –disable=mariadb5. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:yum-config-manager –save –setopt=mariadb.skip_if_unavailable=true
failure: repodata/repomd.xml from mariadb: [Errno 256] No more mirrors to try.
http://yum.mariadb.org/10.1/centos7-amd64/repodata/repomd.xml: [Errno 14] HTTP Error 404 – Not Found大変恐れ入りますが、ご確認いただけますと幸いです。よろしくお願いいたします。
-
2022年7月3日 at 16:06 #983
時間を置き、改めて試してみました。
①—————————————–
VPSを再起動yum clean all
yum update –disablerepo=mariadb
yum update kusanagi
↓
failure: repodata/repomd.xml from mariadb: [Errno 256] No more mirrors to try.
http://yum.mariadb.org/10.1/centos7-amd64/repodata/repomd.xml: [Errno 14] HTTP Error 404 – Not Found②—————————————–
yum clean allyum -y update
↓
failure: repodata/repomd.xml from mariadb: [Errno 256] No more mirrors to try.
http://yum.mariadb.org/10.1/centos7-amd64/repodata/repomd.xml: [Errno 14] HTTP Error 404 – Not Foundyum update –disablerepo=mariadb
↓
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libicuio.so.69()(64bit)
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libonig.so.105()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libicuio.so.69()(64bit)
エラー: パッケージ: kusanagi-nginx-1.21.6-2.noarch (kusanagi)
要求: libgd.so.103()(64bit)
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libicudata.so.69()(64bit)
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libgd.so.103()(64bit)
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libicuuc.so.69()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libicudata.so.69()(64bit)
エラー: パッケージ: kusanagi-php7-7.4.30-2.noarch (kusanagi)
要求: libicui18n.so.69()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libgd.so.103()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libonig.so.105()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libicuuc.so.69()(64bit)
エラー: パッケージ: kusanagi-php8-8.0.20-2.el7.x86_64 (kusanagi)
要求: libicui18n.so.69()(64bit)
問題を回避するために –skip-broken を用いることができます。
これらを試行できます: rpm -Va –nofiles –nodigest③——————————————
cd /etc/yum.repos.d
vi mysql-community.repoenabled=1を0に書き換えましたが、変わらずでした。
-
2022年7月4日 at 07:54 #984
Yutori さん、こんにちは。
上記でアップデートがエラーになるのでしたら、まずは kusanagi モジュールだけアップデートを試していただいてもよろしいでしょうか?
yum clean all
yum update kusanagi –disablerepo=mariadbこれでエラーが出なければ、残りのモジュールも通常のアップデートを試してみてください。
yum update –enablerepo=remi,remi-php56 –disablerepo=mariadb
yum update –enablerepo=remi,remi-php56-
This reply was modified 2 years, 2 months ago by
cloudy.
-
This reply was modified 2 years, 2 months ago by
-
2022年7月4日 at 22:07 #986
cloudy様
お世話になっております。
先ほど試して、無事KUSANAGIのアップデートが完了しました。
MariaDBも問題なく10.5で稼働しております。
PHPも7.4.30になっており、使用しているテーマのエラーも消えました。
ついでなので、後ほどPHP8にしておこうと思います。同じ内容でお困りの方に向けて、私が実行した手順をまとめます。
※色々模索しながら出来たので、正確な手順ではありませんが、参考になれれば幸いです。ーーー
①
yum clean all
yum update kusanagi –disablerepo=mariadb②
yum update –enablerepo=remi,remi-php56 –disablerepo=mariadb
yum update –enablerepo=remi,remi-php56③
yum update kusanagi
yum update –enablerepo=remi,remi-php56②の後、サーバを再起動し、yum clean allをした後③を実行しました。
ーーー
cloudy様改めて、ご対応いただきありがとうございました。
ご丁寧にご教示いただいたおかげで大変助かりました。 -
2022年8月12日 at 23:42 #1007
Vagrant で MariaDB 10.1 の古い環境からアップデートを試した結果を残します。
`
# MariaDB を無視して、順番にアップデート
yum update kusanagi –enablerepo=remi,remi-php56 –disablerepo=mariadb
yum update –enablerepo=remi,remi-php56 –disablerepo=mariadb# MariaDB をアップグレード
# MariaDB をアップグレードをしないと、yum update でエラーは出続けます。
kusanagi upgrade mariadb 10.5# MariaDB をアップデート後は、通常の yum update でエラーは出なくなります。
yum update kusanagi
yum update –enablerepo=remi,remi-php56
`
-
This reply was modified 2 years ago by
cloudy.
-
This reply was modified 2 years ago by
-
-
AuthorPosts
- You must be logged in to reply to this topic.
- Topic Tags
- mariadb