<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>DB故障 on qwerty.work</title>
        <link>https://qwerty.work/tags/db%E6%95%85%E9%9A%9C/</link>
        <description>Recent content in DB故障 on qwerty.work</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja-JP</language>
        <lastBuildDate>Wed, 08 Sep 2021 22:37:30 +0900</lastBuildDate><atom:link href="https://qwerty.work/tags/db%E6%95%85%E9%9A%9C/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>WordPressが急にError establishing a database connectionとエラーになった！</title>
            <link>https://qwerty.work/post/2021/09/wordpress-database-connection-error/</link>
            <pubDate>Wed, 08 Sep 2021 22:37:30 +0900</pubDate>
            <guid>https://qwerty.work/post/2021/09/wordpress-database-connection-error/</guid>
            <description>&lt;p&gt;XAMPPで構築したWordPressのデータベースが急に壊れた件&lt;/p&gt;&#xA;&lt;h2 id=&#34;さっきまで使っていたwordpressが表示されなくなった&#34;&gt;さっきまで使っていたWordPressが表示されなくなった！&#xA;&lt;/h2&gt;&lt;p&gt;WordPressでコーポレートサイトを作るために、テスト環境としてWindows10のパソコンに&lt;a class=&#34;link&#34; href=&#34;https://www.apachefriends.org/jp/index.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;XAMPP（ザンプ）&lt;/a&gt;を入れてコツコツとサイトを作成していました。&lt;/p&gt;&#xA;&lt;p&gt;ちなみにZAMPPとは、Apatch、MySQL、PHPなど、一般的なレンタルサーバーと同じ環境を簡単に構築できるフリーソフトです。これがあると、爆速でWEBサーバー環境が構築できます。また、&lt;a class=&#34;link&#34; href=&#34;https://bitnami.com/stack/xampp#wordpress&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;WordPressモジュール&lt;/a&gt;のインストーラーもあり、簡単にWordPressを使い始めることができます。&lt;/p&gt;&#xA;&lt;p&gt;今回、使用していたパソコンの環境は簡単に以下の通り。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows 10 64bit 21H1&lt;/li&gt;&#xA;&lt;li&gt;11th Intel Core-i7&lt;/li&gt;&#xA;&lt;li&gt;16GB RAM&lt;/li&gt;&#xA;&lt;li&gt;NVMe SSD&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;XAMPP for Windows 7.3.30&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;この環境で約1ヶ月程度作業をしていたら、XAMPP上のApatchやMySQLを再起動しないとWordPressが反応しないことがありました。サービスを再起動すれば直るので、あまり深く考えずに作業していました。&lt;/p&gt;&#xA;&lt;p&gt;ところが&amp;hellip;。&lt;/p&gt;&#xA;&lt;h2 id=&#34;データベースエラー発生&#34;&gt;データベースエラー発生！&#xA;&lt;/h2&gt;&lt;p&gt;さっきまで動いていたWordPressの画面にデータベースエラーの文字が表示されるようになりました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;Error establishing a database connection&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;656px&#34; data-flex-grow=&#34;273&#34; height=&#34;256&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2021/09/wordpress-database-connection-error/images/No-00.jpg&#34; width=&#34;700&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Database Error&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;Error establishing a database connection&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;データベースエラー&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;データベース接続の確立中にエラーが発生しました&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;WordPressの管理画面やサイトも全部この画面しか表示されなくなりました。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;パソコンの再起動&lt;/li&gt;&#xA;&lt;li&gt;XAMPPの再起動&lt;/li&gt;&#xA;&lt;li&gt;Apatch、MySQLサービスのStop＆Start&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;これらをやっても復旧できなくなりました。&lt;/p&gt;&#xA;&lt;h2 id=&#34;phpmyadminも見れなくなった&#34;&gt;phpMyAdminも見れなくなった&#xA;&lt;/h2&gt;&lt;p&gt;途中まで、XAMPPコントロールパネルにあるMySQLの**[Admin]**ボタン押すと、phpMyAdminは表示さていました。今思えば、&lt;strong&gt;この時点でデータベースのバックアップを取って置けば良かった&lt;/strong&gt;と後悔。なぜなら、この後にMySQLのサービスを開始させても数秒後にシャットダウンされてしまうようになったからです&amp;hellip;。&lt;/p&gt;&#xA;&lt;p&gt;何度、&lt;strong&gt;[Start]ボタン&lt;/strong&gt;を押しても以下のようになりました。当然、&lt;strong&gt;phpMyAdminにもアクセスできなくなりました&amp;hellip;。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;XAMPPコントロールパネル&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;369px&#34; data-flex-grow=&#34;153&#34; height=&#34;434&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2021/09/wordpress-database-connection-error/images/No-01.jpg&#34; width=&#34;668&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Error:MySQL shutdown unexpectedly.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;This may be due to a blocked port, missing dependencies,&#xA;&#xA;improper privileges, a crash, or shutdown by another method.&#xA;&#xA;Press the Logs button to view error logs and check&#xA;&#xA;the Windows Event Viewer for more clues&#xA;&#xA;If you need more help, copy and post this&#xA;&#xA;entire log windows on the forrums&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;エラー：MySQLが予期せずシャットダウンしました。&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;これは、ポートがブロックされている、依存関係がない、などの理由によるものです。&#xA;&#xA;不適切な権限、クラッシュ、別の方法によるシャットダウンなどが考えられます。&#xA;&#xA;[ログ]ボタンを押すと、エラーログが表示されます。&#xA;&#xA;Windowsイベントビューアで詳細を確認する。&#xA;&#xA;より多くの手がかりのためのWindowsイベントビューア&#xA;&#xA;もっと助けが必要な場合は、このログウィンドウ全体をコピーしてフォーラムに投稿してください。&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;このエラー文を元に、ポートの重複や、Windowsイベントビューアを確認してみましたが、解決に至りそうな情報を見つけることはできませんでした。&lt;/p&gt;&#xA;&lt;h2 id=&#34;ログを見る&#34;&gt;ログを見る&#xA;&lt;/h2&gt;&lt;p&gt;XAMPPコントロールパネルにあるMySQLの**[Logs]&lt;strong&gt;ボタンを押すと、以下のログが表示されました。同じような&lt;/strong&gt;[ERROR]**が複数回ありました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;XAMPPのMySQLエラーログ&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;471px&#34; data-flex-grow=&#34;196&#34; height=&#34;356&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2021/09/wordpress-database-connection-error/images/No-02.jpg&#34; width=&#34;700&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;[ERROR] InnoDB: The innodb_system data file &amp;lsquo;idbdata1&amp;rsquo; must be writable&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;[ERROR] InnoDB: innodb_system データファイル &#39;idbdata1&#39; は書き込み可能でなければならない。&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;[ERROR] Plugin &amp;lsquo;InnoDB&amp;rsquo; init function returned error.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;[ERROR] プラグイン「InnoDB」のinit関数がエラーを返しました。&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;[ERROR] Plugin &amp;lsquo;InnoDB&amp;rsquo; registration as a STORAGE ENGINE failed.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;[ERROR] プラグイン&#39;InnoDB&#39;のSTORAGE ENGINEとしての登録に失敗しました。&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;[ERROR] Unknown /unsupported storage engine: InnoDB&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;[ERROR] 不明/サポートされていないストレージエンジン：InnoDB&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;[ERROR] Aborting&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;[ERROR] 中止します&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h2 id=&#34;ログを手掛かりにいろいろやってみた&#34;&gt;ログを手掛かりにいろいろやってみた&#xA;&lt;/h2&gt;&lt;p&gt;ログやエラーの表示内容を元に、いろいろ検索して調べて辿り着いた情報の中から以下のことをためしましたが、全部ダメでした。&lt;/p&gt;&#xA;&lt;h4 id=&#34;idbdata1の読み取り専用を解除&#34;&gt;idbdata1の読み取り専用を解除&#xA;&lt;/h4&gt;&lt;p&gt;『&amp;lsquo;idbdata1&amp;rsquo; は書き込み可能でなければならない。』ということでしたが、プロパティを開くと、そもそも読み取り専用になっていませんでした。Everyoneフルコントロールを追加してもダメでした。&lt;/p&gt;&#xA;&lt;h4 id=&#34;ログファイルの削除&#34;&gt;ログファイルの削除&#xA;&lt;/h4&gt;&lt;p&gt;指定のファイルをリネームして避けるか削除をしてみましたが、ダメでした。&lt;/p&gt;&#xA;&lt;h4 id=&#34;myiniに強制修復を追加&#34;&gt;my.iniに強制修復を追加&#xA;&lt;/h4&gt;&lt;p&gt;これもダメでした。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;innodb_force_recovery = 1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;ログファイルの容量を増やす&#34;&gt;ログファイルの容量を増やす&#xA;&lt;/h4&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;wait_timeout = 86400&amp;lt;br&amp;gt;&#xA;max_allowed_packet = 1G&amp;lt;br&amp;gt;&#xA;innodb_buffer_pool_size = 1G&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;wordpressのリペアを許可&#34;&gt;WordPressのリペアを許可&#xA;&lt;/h4&gt;&lt;p&gt;wp-config.phpの最後部に以下を追加するとWordPressを修復できるかもしれない。ということで、やってみましたが、駄目でした。MySQL自体が起動しないのですから当然ですが&amp;hellip;。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;define(&amp;#39;WP_ALLOW_REPAIR&amp;#39;, true);&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;dataフォルダの置換&#34;&gt;DATAフォルダの置換&#xA;&lt;/h4&gt;&lt;p&gt;以下のDATAフォルダのバックアップを取っておき、再インストールしたXAMPPのフォルダの新しいDATAフォルダをリネームして、バックアップをここに復元すれば復旧できるといった情報があったので、やってみましたが、**またMySQLが起動しなくなりました。**どうやら、このDATAフォルダ内のファイルが破損しているみたいです。それが、どのファイルなのかがまったく分かりませんでした。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;XAMPPのMySQL DATAフォルダ&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;388px&#34; data-flex-grow=&#34;162&#34; height=&#34;432&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2021/09/wordpress-database-connection-error/images/No-03.jpg&#34; width=&#34;700&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;dbファイルが壊れた原因はこれかも&#34;&gt;DBファイルが壊れた原因はこれかも？&#xA;&lt;/h2&gt;&lt;p&gt;何度もXAMPPを再起動していたせいか、タスクバーのアイコンを見ると、XAMPPアイコンが何個も表されていました。よくわかりませんが、多重起動により、何らかの異常を積み重ねていたのかもしれません。それによって必要なファイルが壊れたのかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;また、&lt;strong&gt;XAMPPは管理者として実行&lt;/strong&gt;しないといけないのかもしれません。Usersとして起動した場合、XAMPPを終了させる際に、エラーが出て強制終了をさせていました。これも故障の原因かもしれません。管理者として実行していた場合は終了時にエラーが出ることはありませんでした。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;タスクバーのXAMPPアイコン&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;320px&#34; data-flex-grow=&#34;133&#34; height=&#34;120&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2021/09/wordpress-database-connection-error/images/No-04.jpg&#34; width=&#34;160&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;結局xamppを再インストールサイト再構築&#34;&gt;結局、XAMPPを再インストール＆サイト再構築&#xA;&lt;/h2&gt;&lt;p&gt;結局、そうにもできなかったので、一番やりたくなかったXAMPPをアンインストールして、再度インストールし直しました。データはもちろん消えるので、WordPressのモジュールも再インストールし、まっさらな状態から、サイトを作り直しました。&lt;/p&gt;&#xA;&lt;h2 id=&#34;参考サイト&#34;&gt;参考サイト&#xA;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://kinsta.com/jp/blog/error-establishing-a-database-connection/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://kinsta.com/jp/blog/error-establishing-a-database-connection/&#34; alt=&#34;https://kinsta.com/jp/blog/error-establishing-a-database-connection/&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://kinsta.com/jp/blog/error-establishing-a-database-connection/&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://kinsta.com/jp/blog/error-establishing-a-database-connection/&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://kinsta.com/jp/blog/error-establishing-a-database-connection/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://kinsta.com/jp/blog/error-establishing-a-database-connection/&#34; alt=&#34;https://kinsta.com/jp/blog/error-establishing-a-database-connection/&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://kinsta.com/jp/blog/error-establishing-a-database-connection/&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://kinsta.com/jp/blog/error-establishing-a-database-connection/&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;</description>
        </item></channel>
</rss>
