5.5から5.7へバージョンアップしました。そこで、当サイトもMySQL5.7へ移行することにしました。ところが、移行するデーターベースが大容量だったため、phpMyAdminでインポートできませんでした。SSHでインポートできたので、備忘録を兼ねてその方法を紹介します。結果はじめにさくらインターネット(以下、さくら)が2018年1月18日からMySQL5.7の提供を開始しました。平素よりさくらインターネットに格別のご愛顧を賜り、誠にありがとうございます。さくらのレンタルサーバのデータベース機能にwww.sakura.ad.jp旧バージョンのMySQLは、サポートが終了しているそうです。このため、もし将来的に何かしらの脆弱性が発見された場合、さくらは対処できないそうです。MySQLを5.5から5.7へ移行したことでサイトの表示速度が上がったという報告もありました。ページの表示速度は、微々たるものですが、2012年の段階でSEOに影響を与えるそうです。Seattleで2人のGoogle社員に直接質問してきた。そのなかにはページの表示速度とランキングに関する問いも含まれている。インターナショナルで導入済みとのことだった。www.suzukikenichi.com今後のことを考慮すると、MySQLのバージョンアップは避けられません。さくらのMySQLのバージョンアップ方法を色々と調べてみると、phpMyAdminを使うので簡単そうでした。そこで、大分時間が経っていますが、MySQLを5.7へバージョンアップすることにしました。ところが、phpMyAdminでは、MySQL5.5からエクスポートしたデータベースをMySQL5.7にインポートできませんでした。この理由は、エクスポートしたデータベースが、zipファイルに圧縮しても16MBを超えていたからです。次に、16MB以上の大容量のデータベースをインポートする方法を調べてみることにしました。phpMyAdminでインポート可能なファイルサイズの上限は16MBとなります。これ以上の容量をインポートされたい場合は、メールにてサポートまでご相談ください。【phpMyAdmin】データベースのインポート(読み込み)より抜粋さくらでファイルサイズが16MBを超えるデータベースをインポートする場合はメールで問い合わせが必要なようです。そこで、メールで問い合わせたところ、二つの方法が提示されました。一つはSSHクライアントソフトを使って自分でやる方法、そして、もう一つはさくらのサポートに代行してもらう方法でした。どちらの方法を選んでも共通して言えることは、何か不具合が生じても保証はできないということでした。仮に代行を依頼して、不具合が生じた場合、その度に代行を依頼するのも大変だと思いました。自分で大容量のデータベースをSSHでMySQLにインポートすることにしました。最初は、サポートのメールで教えられた以下のコマンドでデータベースのインポートを試しました。ところが、教えられたコマンドを実行してもインポートできませんでした。今回のデータベースのインポートにはかなり梃子摺ったので、詳細に関しては長くなるので後述します。その前に、突然ではありますが、先に言っておきたいことがあります。今回、データベースのインポート方法を調べるにあたり、幾つかのサイトではMySQL5.5のデータベースの中身を削除するように書かれています。データベースをMySQL5.7にインポートする前に...。この必要性に関して、さくらのサポートに確認したところ、MySQL5.5とMySQL5.7はサーバーが分かれているので、削除する必要はないそうです。こんなことを書くかというと、もし知らずに参考サイトの通りにMySQL5.5のデータベースの中身を削除した後、MySQL5.7にデータベースをインポートできなかったら様々な問題が生じます。私の場合、MySQL5.5のデータベースの中身を削除せずにMySQL5.7にインポートしているサイトを事前に見ていました。このため、用心してMySQL5.5のデータベースの中身を削除しませんでした。私が今回紹介する方法以外で、さくらのレンタルサーバーのスタンダードでSSHクライアントソフトを使ってデーターベースのインポートを紹介しているサイトがありました。さくらインタ...digital.bmw-and-more.infoところが、私の場合、その方法でデータベースをインポートすることができませんでした。したら、その逆で、私が紹介する方法でデータベースをインポートできない場合があるかもしれません。MySQL5.7にデータベースをインポートして動作確認するまでは、バックアップ元のMySQL5.5のデータベースを削除するべきではありません!MySQL5.7に移行して動作確認をした後で消しても何ら問題はありません。実際に、私はMySQL5.5のデーターベースもその中身も削除せずにMySQL5.7のインポートから動作確認まで行えました。今回、MySQLの移行にあたり、色々と試したので、その備忘録も兼ねて、さくらのMySQLで大容量のデータベースをインポートする方法を紹介したいと思います。ここで紹介する他でどこまで適用できるかは分かりませんが、何かしらの参考になれば幸いです。5.5のデータベースのエクスポートデーターベースのエクスポートの方法ですが、さくらの場合はサーバーコントロールパネル(以下、SCP)からphpMyAdminにログインして行います。SCPの左メニューの「アプリケーションの設定」から「データベースの設定」をクリックします(図1)。図1phpMyAdminのログインページが表示されるので、「サーバの選択」で任意のサーバーを確認し、ユーザー名とパスワードを入力して、「実行する」ボタンをクリックします(図2)。次に表示されるページで「エクスポート」タブをクリックします(図3の赤枠)。「エクスポート」タブでは、まず「エクスポート」の項目で該当するデータベース名を選択します(図4)。Information_schemaは、MySQLサーバーに関するデータベースです。今回の場合は、MySQL5.5のデータベースなので必要ありません。コマンドを追加する」をチェックします(図4)。TABEL”コマンドで、これは既存のデータベースのテーブルを削除します。既存のデータベースに再インポートする場合などに必要だと思うので、インポートを複数回テストする場合は入れておいた方が良いかもしれません。形式」を選択します(図4)。非圧縮形式では、ファイルサイズが16MBを超える可能性が高いです。さくらの場合、ファイルサイズが大きいと、まずSCPでアップロードできない可能性があります。phpMyAdminでデータベースをインポートできない可能性があります。上記三つの設定を確認し、問題がなければ、「実行する」ボタンをクリックします(図4)。図4「実行する」ボタンをクリックして、しばらくするとダウンロードが開始します。ダウンロードしたファイル名は特に指定しなかった場合は「mysql***.db.sakura.ne.jp.sql.zip」になります。これで、データベースのエクスポートは終了です。5.7のデータベースの作成データベースの作成は、SCPの左メニューの「アプリケーションの設定」から「データベースの設定」をクリックします(図5)。次に表示される「データベース一覧」で「データベースの新規作成」をクリックします(図5)。「データベースの新規作成」では、「データベース名」と「接続用パスワード」を設定します(図6)。データベースバージョンは5.7以外選択できません。ここで設定する「データベース名」と「接続用パスワード」はMySQL5.5で設定したものと同じにします。することで、wp-config.phpを編集する場合、データベースのサーバー名だけを変更するだけで済みます。各項目を入力して、内容に問題がなければ「同意する」をチェックし、「データベースを作成する」ボタンをクリックします(図6)。データベースが作成されると、今回の場合、MySQL5.5のデータベースとMySQL5.7のデータベースが二つ表示されます(図7)。図7今後、新規データベースを作成した場合、データベースバージョンMySQL5.7に追加されます。データベースのアップロードと解凍さくらのSCPにある「ファイルマネージャー」は、アップロードできるファイルサイズが5MB以下です。5MBを超えるファイルをアップロードする場合、ファイル転送ソフトを利用する必要があります。さくらのサポート情報サーバコントロールパネルから利用できるファイルマネージャーは、ファイル転送ソフトを別途ご用意いただくことなく、ファイルのアップロードやダウンロードなどを行なうことができます。新しいフォルダを...help.sakura.ad.jpFileZillaの設定とアップロードここで紹介するファイル転送ソフトはFileZillaです。FileZillaを起動し、メニューにある「ファイル」→「サイトマネージャー」をクリックしてサイトマネージャーを表示します(図8)。「新しいサイト」をクリックし、追加された新規サイトに名前を設定します。今回の場合、分かりやすくするために、「さくらインターネット」にします(図9)。デフォルトで表示されている「一般」タブでは以下の項目を設定します(図9)。Protocolホスト...SCPログイン時のドメイン名(****.sakura.ne.jp)ユーザー...SCPに表示されているお客様情報のアカウント(****と同じ)パスワード...SCPログイン時のパスワード次に、「詳細」タブを表示し、以下の項目を設定します(図10)。図10デフォルトのローカルディレクトリはドキュメントが指定されています。必要に応じて、任意の場所を指定してください。デフォルトのリモートディレクトリは、さくらの場合、以下のようになります。/home/****/www****はホストのドメインの部分と同じです。全ての設定に問題がなければ「接続」ボタンをクリックします。設定の初期ではパスワードが保存されていないので、「パスワードを保存しますか?」というダイアログボックスが表示されます(図11)。パスワードの再入力が面倒な場合などは「パスワードを保存する」を選択して「OK」ボタンをクリックします(図11)。次に、「不明なホスト鍵」が表示されるので、「常にこのホストを信頼し、この鍵をキャッシュに追加」をチェックして「OK」ボタンをクリックします(図12)。サーバーに接続されると、右側にはリモートで指定したwwwフォルダの内容が表示されます(図13)。左側にはローカルで指定したドキュメントの内容が表示されます(図13)。図13wwwフォルダに「mysql***.db.sakura.ne.jp.sql.zip」をアップロードする場合は、ドラッグアンドドロップでも可能です。圧縮したデータベースをアップロードしたら、次は解凍をSCPで行います(図14)。図14wwwフォルダにある「mysql***.db.sakura.ne.jp.sql.zip」を右クリックすると、ドロップダウンメニューが表示されます。フィルを解凍する場合は、「リモートで解凍」をクリックします(図15の赤枠)。次に表示される「解凍先の選択」ダイアログボックスでは、特に解凍先を変更する必要がなければ、「OK」ボタンをクリックします(図16)。すると、「リモートで解凍」ダイアログボックスが表示されて既存の同名ファイルがなくても上書きを確認されます。問題がなければ「はい」ボタンをクリックします(図17)。図17ファイルが解凍されると、図18のように圧縮ファイルの10倍近いサイズのファイルが出現します。図18スポンサーリンクデータベースのインポートデータベースの解凍が完了したら、次はそのデータベースのインポートを行います。データベースのインポートにはSSHクライアントを使用します。さくらでは幾つかのSSHクライアントを紹介しています。以下のサイトでは、簡単にPoderosaの紹介をしていたので、Poderosaを使用することにしました。物理的に遠いところから、サーバを操るための手段のひとつです。目の前でサーバを操っている...help.sakura.ad.jpPoderosaの導入Poderosaは上記のサイトからダウンロードします。ダウンロードしたファイルを解凍しても実行できない場合があります。これは、アクセスブロックが設定されているからです。このアクセスブロックは、ダウンロードしたzipファイルの状態で解除する必要があります。ダウンロードしたzipファイルを右クリックして、表示されるドロップダウンメニューから「プロパティ」をクリックします。次に表示される「プロパティ」で、以下の内容の「セキュリティ」で「許可する」をチェックします(図19)。このファイルは他のコンピューターから取得したものです。このコンピューターを保護するため、このファイルへのアクセスはブロックされる可能性があります。図19zipファイルを解凍し、Poderosaのフォルダを任意の場所に置きます。フォルダの中にある”Poderosa.exe”を実行してPoderosaを起動します(図20)。次に、図20の赤枠に示すコンピューターのアイコンをクリックします。「新規セッション」が表示されるので、以下の項目に入力します(図21)。ホスト...SCPログイン時のドメイン名(****.sakura.ne.jp)アカウント...SCPに表示されているお客様情報のアカウント(****と同じ)パスフレーズ...SCPログイン時のパスワードたまに、ローカルエコーが「しない」から「する」になってキー入力が繰り返される場合があるので注意して下さい。入力項目に問題がなければ、「OK」ボタンをクリックします。図22のように公開鍵を登録するかどうかを確認されるので、「はい」ボタンをクリックします。ログインとデータベースのインポートMySQLへのログインログインとデータベースのインポートは以下のサイトを参考にしました。前回投稿の【WordPress】ターミナルで簡単にssh接続する方法でターミナルでssh接続をする方法をご紹介しました。今www.webdlab.com上記のサイトでは、この方法ではデータの上書きはできず、既存のデータがある場合はエラーが出るそうです。このため、インポート先のデーターベースを空にしておく必要があるとのことでした。コマンドを追加する」をチェックしていたからか、上書きでもエラーが出ずにインポートできました。この点について上書きするかどうかは自己責任でお願いします。「新規セッション」でサーバーに接続されると、図23のような画面が表示されます。さくらのサポートからはデータベースをインポートするコマンドを以下のように教えられました。[インポート元ファイル名]ところが、教えられたコマンドを実行してもデータベースをインポートすることが出来ませんでした。さくらは、他のレンタルサーバーと異なるようで、Webサーバーとデータベースサーバーが分かれています。データベースをインポートする場合、最初にMySQL5.7にログインする必要があります。さくらでMySQLにログインするためのコマンドは以下の通りです。-pパスワードインポート先データベース名とインポート元ファイル名がないだけのように思えます。実際には、ユーザー名・インポート先データベース名・パスワードの入力順が違うとエラーが出ます。コマンドを入力する際は、コピペも出来るので、順番を間違えないように入力します(図24)。MySQL5.7にログインすると、図25のようにメッセージが表示されます(図25)。図25次にインポート先のデータベースを指定します(図26)。データベースを指定するコマンドは”use”で、データベースの指定は以下の通りです。changed”と表示されます(図27)。データベースを選択したら、今度はいよいよデータベースのインポートです(図28)。データベースをインポートするためのコマンドは”source”で、wwwにアップロードして解凍したインポートするデータベースのパスの指定は以下の通りです。/home/データベースユーザー名/www/mysql***.db.sakura.ne.jp.sqlMySQL5.5のデータベースをエクスポートした場合、ファイル名を変更していなければデータベースサーバー名が指定のファイル名になります。図28データベースのインポートが開始されると、ログが流れていき、完了すると図29のようになります。SCPでも確認すると、使用量が0MBから増えていることが分かります(図30)。ちなみに、どういう訳か、この容量は同じファイルでもインポートする度に変わります。5.7にデータベースをインポートできたら、今度は”wp-config.php”を編集します。インストールされたフォルダの中にあります。さくらの場合はSCPで編集できます。編集する箇所は以下の通りです。こちらの情報はホスティング先から入手してください。'mysql***.db.sakura.ne.jp');各項目は、SCPのデータベース一覧で作成したときに設定した内容です。5.5と以下の項目を同じにしているのであれば、MySQLのホスト名以外を編集する必要はありません。5.7のmysql***.db.sakura.ne.jpの***部分だけを変更します。5.5から5.7への移行は、メールで問い合わせを行い、必要内容を記入して送れば、さくらのサポートで代行してもらえます。このため、自信がなければ無理に自分で行う必要はありません。仮に自分で移行する場合、仮に技術的な内容について問い合わせをしても、ほとんど答えてもらえません。サポートで代行してもらっても、動作保証はしておらず、データ形式によってはインポートしてもらえない場合もあります。5.7への移行は推進しているようで、対応は消極的です。さくらでWordpressを長期間利用している人はMySQLのバージョンが5.5以下で、利用者数も多いと思うのですが、他の人はどうしたんでしょうね?以下には、MySQL5.5から5.7へ移行するまでに色々と試したことを記載しておきます。サポートで教わったコマンドについてまず、さくらのサポートで教えられたコマンドは、恐らく、MySQL5.5に対応するものだったと思います。[インポート元ファイル名]このコマンドを実行したときに表示されたエラーは以下の物でした。‘PK’.このエラーについて調べてみると、以下のサイトがありました。phpmyadminインポート、mysqlバックアップが復元できない。まとめーたーphpmyadminインポート、mysqlバックアップが復元できない。matomater.comこれは、最初にインポートしようとしたファイルがzip形式だからでした。次に、解凍したファイルでインポートしようとしたところ、以下に記載する三つのメッセージが表示されました。insecure.まず、1行目のエラーは、コマンドラインインターフェースでパスワードを使うのは安全ではないということでした。exists2行目のエラー1007は、既存のデータベース名があると、同じ名前のデータベース名を作れないということです。ちなみに、違う名前でデータベースを作成して、本来のインポートすべきデータベース名を指定してもダメでした。‘インポート先データベース名’3行目のエラー1044は、指定したユーザー名で、インポート先データベース名のデータベースにアクセスできないということです。外部ファイルによるパスワードの指定1行目のエラーを解決する方法として、ユーザー名とパスワードを外部ファイルから読み込ませるという方法があります。上記で紹介したサイトでは、外部ファイルを説明をサラッとしています。初心者の私にはSSHクライアントソフトで外部ファイルを作成・編集する方法が全く分かりませんでした。SSHクライアントソフトで利用するコマンドは以下のサイトを参考にしました。2.SSHでよく使うコマンドと簡単な使い方まず、さくらで外部ファイルやテキストファイルを編集する場合、viを使用します。ファイルに日本語などを使用している場合、可能な人はvimをインストールして日本語編集をすることが出来ます。インストールさくらレンタルサーバ(スタンダード)にvimいれたったとりあえず、今回はユーザー名とパスワードを外部ファイルに設定するので、viでmy.cnfを作成・編集します。viのコマンドは以下のサイトを参考にしました。外部ファイルでユーザー名とパスワードを指定するコマンドは以下の通りです。インポート元ファイル名この場合、”tmp”フォルダを作成し、その中に”my.cnf”を作成・編集しています。ところが、このコマンドでもエラーが表示されました。NO)試しに、外部ファイルの指定のみでMySQLにログインできるか試すことにしました。--defaults-extra-file=/tmp/my.cnf残念ながら、外部ファイルでユーザー名とパスワードを指定しても、以下のようなエラーが表示され、ログインすらできませんでした。(2)インポートの成功例?他にさくらのレンタルサーバーで大容量のデータベースをMySQL5.5から5.7に移行できた例を探してみたところ、以下のサイトを見つけました。さくらインタ...digital.bmw-and-more.infoこのサイトで使用したコマンドは以下の通りです。インポート元ファイル名ところが、このコマンドでもエラー1044が表示され、失敗に終わりました。参考サイトでも、その環境ではできたということなので、同じさくらのレンタルサーバーでどういう違いがあるのかは私にもわかりません。ログインへの成功例とりあえず、データーベースのインポートが上手くいかないので、せめてMySQLにログインする方法を調べたところ、以下のサイトを見つけました。さくらのレンタルサーバのコントロールパネルからDBを新規に作成します。作成するとDB...unkillonline.hatenablog.com結果とりあえず、上記のように色々と試して紆余曲折があった結果、無事に大容量のデータベースをインポートすることが出来ました。MySQLを5.5から5.7に移行する目的は何だったかというと、サイトの表示速度の改善でした。Insightsで確認したところ...モバイルでは変わらず、PCでは遅くなるという結果でした。Wordpressにログインするまでの時間が大幅に伸びました。これらの結果に関しては、インポートの失敗なのか、テーマが古いからなのかは分かりません。何度試しても結果はほぼ変わらずで、たまにPCも変わらないという具合でした。それ以外には特に問題もなく?、記事も表示されるし、プラグインも動いているようです。今度はテーマを更新するか、変更するかでページの表示速度が改善されるかを試すしかないようです。Adsense)最近、サイトに貼ったAdsenseの広告表示回数を確認すると、記事トップの広告とそれ以外の広告との表示回数に2倍近い差があることに気付きました。これにはAdsenseのシステムが関係しています。いう指摘がありました。認証されない!?(RapidSSL)さくらインターネットでRapidSSLを利用していたのですが、更新を忘れてしまいました。この結果、安全なサイトとみなされず、サイトにアクセスできなくなってしまいました。未対応テーマに導入する当施設は、様々な「もの作り」を通して、利用者さんの社会復帰のお手伝いをしています。最近は作品も増え、当施設の見学者の方から作品の販売について尋ねられることもあります。コメントをキャンセルメールアドレスが公開されることはありません。結果タイトルとURLをコピーしました。