ワードプレスの難しい話をしてみる
こんにちは(・∀・)
WordPressのデータはMySQLのデータベースに格納されていることは皆さんご存知かと思いますが、WordPressを使っていても直接データベースを操作しているという実感はないのではないでしょうか。
データのバックアップを取る際もphpMyAdminを使ってMySQLのデータをエクスポートして保存していると思います。
しかし、いざデータをバックアップから復元しようとphpMyAdminでデータをインポートしようとしてもサイズの大きいsqlデータだとインポート途中でタイムアウトとなりアップデートすることができない場合があります。
上記のようにレンタルサーバー側でアップロードできるファイルの最大容量の上限を少なく設定されていると(ここでは16MiBとなっています 16MiB≒16MB)、それ以上に大きなデータをアップロードすることができません。
ではどうやってデータをアップデートすればいいのか
phpMyAdminのインポートできる容量を大きくする
方法としては、
1. php.iniを書き換えてアップロードできる容量を増やす
2. .htaccessでアップロードできる容量を増やす
のどちらかでアップロードできる容量の設定を変更します。
1. php.iniを書き換えてアップロードできる容量を増やす
phpMyAdminのアップロードできる上限を変更する方法は、php.iniの値を変更するだけで上限の変更ができます。
memory_limit = 128M
post_max_size = 128M
upload_max_filesize = 128M
この場合、memory_limit > post_max_size > upload_max_filesizeの順にサイズを大きくしておく必要がありますが、128Mまでのサイズのデータをアップロードしたい場合、全ての値を128Mに変更しておけば大丈夫です。
しかし、自宅サーバ(Apache)などで管理者権限があればサイズの変更は簡単ですが、レンタルサーバーなどでは変更を許可していない場合があります。
2. .htaccessでアップロードできる容量を増やす
次に.htaccessによるアップロードできる上限を変更する方法です。
php_value memory_limit = 128M
php_value post_max_size = 128M
php_value upload_max_filesize = 128M
この.htaccessが設置されている配下に適用されます。
しかし、こちらも共有のレンタルサーバーなどでは上記の設定変更は許可していない場合もあるので確認が必要です。
phpMyAdminでアップロードできるファイルの容量がレンタルサーバー側で小さく設定されている場合、sqlデータの容量が大きく、その設定の上限を超えている場合は、この設定の上限を変更しないとアップロード中にタイムエラーとなりsqlデータを更新することができません。
今回ご紹介した方法で設定変更できれば良いのですが、大概のレンタルサーバーではこの設定変更は許可されていないと思います。
データをテーブルや行ごとにバックアップを取ってインポートするという方法もありますが現実的ではありません。
そうなるとやはりssh接続が一番簡単で確実ではないかと思います。
前回投稿の【WordPress】phpMyAdminのインポートできる容量を大きくするでphpMyAdminのインポートできるファイルの容量を上げる方法をご紹介しました。
が、
レンタルサーバーなどではデータのインポート容量の上限変更が許可されていなかったりすることがあります。
なので設定を変更することなくデータをインポートすることができるssh接続の方法を今回ご紹介します。
もちろんssh接続が許可されていることが前提ですが、どこのレンタルサーバーもスタンダード以上の契約であればssh接続ができるところが多いです。
ターミナルでssh接続
ssh接続でデータをアップロードするにはターミナルエミュレーターを使用します。
Macならプリインストールされているターミナルを使ってsqlデータをサーバーへアップロードします。
WindowsだとTera Termが定番のターミナルエミュレーターとして有名です。
ここではMacのターミナルを使ってsqlデータをさくらのレンタルサーバーの共有サーバーへsqlデータをアップロードする方法をご紹介していきます。
それではターミナルを起動してコマンド入力を行います。
ターミナルが起動したら「$」に続けて次のように入力。
例:ユーザー名が「hoge」の場合。
ssh hoge@hoge.sakura.ne.jp
と入力しenter。
すると...
最初だけ警告メッセージが出ます。
yesと入力しenter。
次にFTP接続する時のパスワードを入力。パスワード入力中何も表示されませんがそのままenter。
「Welcome to FreeBSD!」と表示されたらログイン成功です。
この時点で終了させる場合は、
exit;と入力してenterを2回繰り返します。
[プロセスが完了しました]と表示されたらターミナルを終了させてください。
今回はssh接続の方法をご紹介しました。