こんにちは。
お父さんアフィリエイター、
はまぞふです。
さて、前回の記事でご紹介しましたが、
【torocca!】
torocca!という自動バックアップサービスで、
安価でとっても優秀なサービスですが、
唯一の欠点、それは・・・
torocca!では、
エックスサーバーのMySQLは
データベースバックアップができない!
ということで、
それを回避できる方法として
簡単にご紹介しました。
今回の記事では、そのあたりに付いて、
実際に、自分が考えた方法や、
エックスサーバーやtorocca!のサポートに、
問い合わせた内容、
そして、torocca!でMySQLをバックアップするための、
詳しい方法をご紹介します。
ちなみに・・・
自動バックアップサービスって何よ?
「torocca!」って何よ?
と思われている方は、コチラの記事からご覧くださいね。
そうそう、前回の説明じゃ、
いまいちピンとこなかったよ。
詳しく教えてほしいわ!
わかったわかった。
もしも、あなたが、
「経緯なんてどうでもいいから、
さっさとやり方教えてくれ!」
という、せっかちさんなら、
「mysqldumpコマンドに必要な情報を収集する」
からご覧になってくださいね。
目次
他のレンタルサーバーでもMySQLへの接続ができない!?
今回は“エックスサーバー”のMySQLが対象になっているけど、
他のレンタルサーバーではMySQLの接続は外部サーバーから
できるの??
いろいろと調べてみると、
“さくらインターネット”や“ロリポップ”でも、
外部サーバーから、MySQLへの接続は禁止しているようなんだ。
まぁ、セキュリティの関係上、
MySQLが別のサーバーから直接接続できるのは、
アブなかっしいから、
外部サーバーから
レンタルサーバー上のMySQLに接続できないのは、
時代の流れから言って、しょうがない事なんだよね。
物騒な時代になったものね。
お前、いくつだよ・・・
今回は、
「エックスサーバーのMySQLを
torocca!でバックアップするための方法」
なんだけど、
この方法は、
他のレンタルサーバーでも応用できるので、
「エックスサーバーじゃないけど、
torocca!を使ってMySQLをバックアップしたい!」
と思っているなら、ぜひ参考にしてほしい内容だよ。
は~い!参考にしま~す!!
MySQLに接続できない!?そんな時、いろいろと調べてみた!
まずは、torocca!で、
データベースバックアップの設定を
してみたんだけど・・・
と、こんな感じで、エラーが発生。
torocca!では、エックスサーバーのMySQLには
上手く接続ができなかったんだ。
お父さんが、「やべー!」って思った瞬間ね。
まーね。
それで、エックスサーバーのMySQLは
外部サーバーから接続ができないって事を
知ったんだよね。
外部から接続できないことがわかってから、
いろいろと調べてみるうちに、
あることがわかってきた。
それは、
「SSHサーバー経由での接続は可能!」
ということ。
この接続は無理だが・・・
この接続なら可能!
実際に、SSHサーバー経由での接続で、
“MySQLの中身を編集するツール”を接続している人が
いるようで、その方法についても詳しく説明している
サイトを発見したわけ。
お~それじゃ、SSHサーバーを経由して、
torocca!がバックアップできるんじゃ・・・
そう思ったけど、torocca!には、
SSHサーバーに関する設定項目が無かったんだ。
SSHに関する設定項目がない・・・
あらら。
そこで僕は、別の観点から、
接続ができないか考えてみた。
それは、
「特定のIPアドレスからの接続を許可する」
ということ。
うん?どういうこと?
つまりね、
特定のIPアドレスからの接続を
エックスサーバー側で許可してくれれば、
MySQLに接続できるんじゃないかって事。
torocca!では、IPアドレスは固定されているんだよね。
そのIPアドレスをエックスサーバー側で、
「このIPアドレスからの接続が来た場合は、
MySQLへの接続を許可してあげよう!」
という設定ができないかなと思ったの。
なるほど!
IPアドレス毎に接続の許可や拒否を設定出来れば、
不明なIPアドレスなら、接続させないようにできるし、
セキュリティ的にも大丈夫だからね。
しかも、そういう設定ありそうだし・・・
お父さんもそう思ったわけ、
でも、エックスサーバーのサーバーパネルを見ても、
そんな設定が見当たらないので・・・
エックスサーバーと、torocca!
どちらにも、質問してみたんだよね。
エックスサーバーには、
「特定のIPアドレスからのMySQLの接続を許可する」
ような設定があるかどうか。
torocca!には、
「データベースバックアップ接続において、
SSHサーバー経由の接続は可能かどうか。」
で、結果はどうだった?
どちらも、回答が来るのは早かったんだけど、
どっちも「無理で~す」って、メールが来たよ。
「エックスサーバーへの質問」
“はまぞふ”といいます。
今回はMySQLの接続に関して、疑問がありましたので、
お問い合わせをさせて頂きました。
実は、外部のサーバーから、
自分が使っているエックスサーバー上の
MySQLデータベースへの接続をしたかったのですが、
接続ができませんでした。
外部のサーバーはIPアドレスが固定されておりますので、
「特定のIPアドレスからのMySQLへの接続を許可する」事が
エックスサーバーでできれば、
接続は可能になるのかと考えました。
ただ、サーバーパネルやマニュアルを一通りみましたが、
そのような設定は見当たりませんでした。
そこで質問です。
エックスサーバーでは、
「MySQLへの接続を許可するIPアドレスの設定」
のような設定項目は存在するのでしょうか?
また、そのような接続は、現状のエックスサーバーにて可能でしょうか?
質問は以上となります。
お忙しいところ申し訳ありませんが、
ご回答、よろしくお願いしたします。
「エックスサーバーからの回答」
ご希望に添えず申し訳ございませんが
現状のXserverの使用では外部からの
MySQLデータベースへの接続ができません。
以前は可能だったのですが、セキュリティ面などを考慮して
現在の仕様へと変更されました。
そのため、今後も外部接続が可能となるような
仕様の変更は予定されておりませんこと、
ご了承くださいますようお願いいたします。
この度はこのような回答となりまして申し訳ございませんが
またご不明な点やご意見、ご要望がございましたらお気軽にお問い合わせください。
何卒よろしくお願い申し上げます。
「torocca!への質問」
“はまぞふ”と言います。
このたび、torocca!を新規に申し込みさせていただきました。
色々とバックアップ等の設定をさせて頂いた中で、
疑問が生じましたので、質問させていただきました。
データベースのバックアップを設定しましたが、
各項目を全て設定し、次へのボタンをクリックした後、
「接続テスト中」と表示された後に、
「接続に問題
Can’t connect to MySQL server on ‘xxxxxxxxx.xxxxxxx.xx’ (110)」
のような表示がでて、データベースの設定が完了しませんでした。
データベースのバックアップ対象のサーバーは、
自分が今使用している「エックスサーバー」というレンタルサーバーで、
データベースのバージョンは、MySQL5.5です。
ネットでいろいろと調べてみると、
2014年6月19日以降、エックスサーバーはセキュリティ強化の観点から、
外部サーバーからMySQLへ直接の接続を禁止している事が
わかりました。しかし、接続する方法がないわけでは無く、
sshサーバー経由でMySQLへの接続は可能ということでした。
ですが、torocca!の設定画面を一通り見たのですが、
データベースをバックアップする時のsshの設定は
特に見当たりませんでした。
そこで質問です。
torocca!では、データベースの接続でsshサーバー経由の接続は、
サポートしているのでしょうか?
また、サポートしているのならば、その設定方法を教えて頂けると
大変助かります。
加えて、torocca!では、エックスサーバーのMySQLのバックアップは、
対応しているのでしょうか?
対応しているのであれば、どのような方法でバックアップが可能なのか、
設定方法などを教えて頂けると助かります。
質問が多く、お手を煩わせてしまうとは思いますが、
なにとぞ、よろしくお願いいたします。
「torocca!からの回答」
平素は弊社サービスをご利用いただきありがとうございます。
お客さまサービスセンター○○でございます。
お問い合わせいただきました件につきまして、ご案内申し上げます。
エックスサーバーの場合
お客さまにてご確認いただいたとおり外部からMySQLに接続することが出来ません。
> わかりました。しかし、接続する方法がないわけでは無く、
> sshサーバー経由でMySQLへの接続は可能ということでした。
SSHポートフォワードを使った接続手段でございますが、
申し訳ございませんがtoroccaでは設定が行えない接続方法でございます。
このようなご案内となり、誠に申し訳ございませんが
何卒、ご理解ご了承頂きますようお願い致します。
その他何かご不明な点がございましたら、ご連絡下さいませ。
完璧にダメね。
MySQLへ直接接続することは、不可能!
ってことか・・・
そういうこと。
なので、
お父さんは、別の方法を考えてみたわけ。
別な方法って??
phpmyadminを自動で行う方法は無いか?
エックスサーバーでMySQLをバックアップする時って、
どんな風にバックアップしてる?
「phpmyadmin」を使ってるよ。
そうでしょ。
「phpmyadmin」を使って、
“データベース名.sql”っていうファイルを
作ってダウンロードしてるでしょ。
うんうん
この、“データベース名.sql”っていうファイルを
自動で作ることが出来て、
自動で作ったファイルを
torocca!にバックアップできれば、
ブログを丸ごと、しかも自動で
「バックアップできたことになる」って
思ったわけ。
なるほど~って・・・
「phpmyadmin」で作るような、
バックアップファイルなんて、
自動で作れるの??
問題はそこなんだよね。
方法がわからないので、
いろいろとグーグル先生で調べてみると・・・
MySQLのデータベースをバックアップする方法が
色々と出て来たんだ。
一番多い方法が、
mysqldumpコマンドを使った方法。
mysqldumpコマンドを使うと、
MySQLの中身を丸ごと、ファイルにすることが出来るんだ。
そして、
そのファイルはphpmyadminで復元が可能!
“こまんど?”
あの、黒い画面で、
文字をポチポチ打つやつでしょ。
ちょーめんどくさいじゃん!!
しかも、
自動的では動かないでしょ。
コマンドを実行すればいいのなら、
定期的にコマンドを実行してくれる
Cronに登録すればいいんだよ。
mysqldumpコマンドをCronに登録しておけば、
定期的にMySQLの中身を丸ごと、
ファイルにしてくれるっていうわけ。
なるほど!
それじゃ、作業として必要な事は・・・
「mysqldumpコマンドに必要な情報を収集」して、
「mysqldumpコマンドを、Cronに登録」して、
「mysqldumpコマンドで作ったファイルを
torocca!でバックアップ」する設定をしとくと。
これらが必要になってくるわけね。
そういうこと!
mysqldumpコマンドに必要な情報を収集する
mysqldumpコマンドは、こんなコマンドになっているよ。
mysqldump -uユーザー名 -pパスワード -hホスト名 データベース名 > バックアップファイル名
ちなみに、-uの後に記載するユーザー名や、-pの後に記載するパスワードは、
間にスペースを入れるとうまく動かないから注意しよう。
ユーザー名がhamazofの場合。
-u hamaof ← これでは動作しない。
-uhamazof ← 正しい指定はコレ
ユーザー名などの必要な情報は、
WordPressの“wp-config.php”に記載されているので、
確認しておこう。
はしょったわね。先週とおんなじ文章よね。
あ・・・ばれた?
詳しく教えてよ~!
わかったわかった。
それじゃ、バックアップを取りたいWordPressの
ユーザー名やパスワードを調べる方法を教えるよ。
バックアップを取りたいWordPressの接続情報の調べ方
まずは、FTPソフトなどで、レンタルサーバーに接続しよう。
今回は、“ffftp”というソフトを使って説明するよ。
まずは、ffftpでエックスサーバーにログインしてください。
ログイン後、以下の画像の様になったら、
左側から、調べたいWordPressのドメイン名のフォルダに移動。
(※今回は、サンプルとして、ドメイン名が”hamazof.com”の場合です。)
そして、その中にある”public_html”に移動してください。
“public_html”の中に、wp-config.phpがあるので、
ダブルクリックで開きましょう。
wp-config.phpをメモ帳で開いたら、
以下の項目をメモしておきましょう。
・データベース名
・ユーザー名
・パスワード
・ホスト名
OK!
必要な情報は、メモっておいたよ!
mysqldumpコマンドを、Cronに登録する方法
それでは、今度は定期的にコマンドを実行してくれる、
“Cron”への登録方法だよ。
まずは、バックアップファイルを保存しておくフォルダを、
エックスサーバー上であらかじめ作っておこう。
ffftpを起動して、エックスサーバーにログインしてください。
右側のパスが「/」であることを確認してから、
右側の枠の中で、右クリックをして、
「フォルダ作成」
を選択します。
今回は、「mysqlbackup」というフォルダを作って、
その中にバックアップファイルを入れるようにします。
次に、エックスサーバーのサーバーパネルにログインしてください
ログイン後、”Cron設定”をクリック。
「CRONの追加」をクリック。
こんな画面が出るので、
ここで設定を追加しよう。
例えば、「毎日 午前2時30分に実行したい」場合は、
こんな風に、設定します。
「分」と「時間」で、実行したい時間を決める事ができるので、
自分の好みで設定しておこう。
他の、「日」、「月」、「曜日」は、* (アスタリスク)
を入力しておきます。
コマンドでは、mysqldumpコマンドを入力します。
mysqldump -uユーザー名 -pパスワード -hホスト名 データベース名 > バックアップファイル名
例えば、
ユーザー名 hamazof_wp1
パスワード password
データベース名 hamazof_wp1
ホスト xxxxx.xserver.jp
バックアップフォルダ mysqlbackup
バックアップファイル名 hamazof_wp1_dump.sql
の場合、こんな感じにコマンドを入力します。
mysqldump -uhamazof_wp1 -ppassword -hxxxxx.xserver.jp hamazof_wp1 > mysqlbackup/hamazof_wp1_dump.sql
これを参考に、コマンドを入力しよう。
後で見てわかりやすいように、
コメントを入れておくことをオススメします。
コマンドを入力したら、下にある「Cronの追加」をクリック。
最後に確認が出るので、再度「Cronの追加」をクリックしてください。
これで、Cronの追加は完了です。
これで、定期的にMySQLのバックアップファイルが出来上がるよ。
じゃ、後は「torocca!」でバックアップしてもらうだけね。
mysqldumpコマンドで作ったファイルをtorocca!でバックアップする方法
それじゃ、今度はtorocca!でのバックアップ方法だよ。
ココはさほど難しくないけど、一応説明するね。
はーい!
torocca!のコントロールパネルから、
対象のWebサイトの「スケジュール編集」をクリック。
「フォルダ:」の中から先ほど作成した、
「mysqlbackup」チェックを入れます。
リストにない場合は、「最新の状態に更新」をクリックして下さい。
フォルダを選択したら、「次へ」をクリック。
プロファイルの保存画面になります。
設定を確認し、特に問題が無ければ「保存」をクリック。
設定はこれで完了。
あとは、
Cronによって
自動的にMySQLのバックアップファイルが作られ、
torocca!によって、
そのファイルがバックアップされるのを待つだけだ。
まとめ
それじゃ、まとめるよ。
結局、torocca!のデータベースバックアップでは、
エックスサーバー上のMySQLには接続できなかったんだよね。
それは、セキュリティの関係上、
外部からMySQLへの接続を禁止しているから。
しかも、他のレンタルサーバー、
さくらやロリポップでも、同じようだってこと。
で、それを解決するために、
mysqldumpコマンドを使って、
データベースの中身をファイル化して、
そのファイルをtorocca!でバックアップする方法があって、
「mysqldumpコマンドに必要な情報を収集」して、
「mysqldumpコマンドを、Cronに登録」して、
「mysqldumpコマンドで作ったファイルを
torocca!でバックアップ」すれば、
torocca!で、WordPressの必要なデータは
全て自動でバックアップが出来た!
ってことだね。
そのとーり!
エックスサーバー上のMySQLが外部から接続できないのは、
時代の流れから行ってもしょうがない事だけど・・・
だからと言って、バックアップしないのも、
誤操作などで、中身が消えてしまったり、
マルウェアによって、WordPressが書き換えられたり、
乗っ取られることもあるので、
しっかりと対策を打ちたいところ。
“mysqldump”を使って
MySQLの中身を丸ごとファイル化できて、
“Cron”によって、自動化することで、
torocca!を使って、MySQLの中身を自動で毎日
バックアップを取れるようになるってことは、
WordPressのすべてのデータを
torocca!でバックアップできるって事なので、
これで、もう安心だね。
それに、
さくらサーバーやロリポップのような、
他のレンタルサーバーでも、
外部からMySQLへの直接接続することを禁止しているし、
セキュリティ強化の面から考えて、
外部からの接続を許可することは今後もないし、
そんなレンタルサーバーも出てきそうにないよね。
だから、
mysqldumpコマンドと、Cronを使って、
torocca!に自動的に毎日バックアップするこの方法は、
今後も重要になってくるわね。
よーし!
これで、WordPressは完全にバックアップできたから、
いつ、誤操作でファイルを上書きしても、
WordPressがマルウェアに感染しようが、
WordPress乗っ取られようが、安心だね!
そーだね!
まぁ、感染したくないけどねぇ~
あなたは、きちんとバックアップ対策は行っていますか?
万が一は突然やってくるものです。
そんなときのために、対策をしっかり行っておきましょうね。
【torocca!】
特に、年に1回以上、
「エックスサーバーのバックアップファイルの提供に、
お金を払ったことがある人」には、
このサービスはホントに便利ですよ^^
「そもそも、torocca!ってなによ?」
と思われた方は、先週のこの記事を読んでみて下さいね。
わからない事があれば、お気軽にお問い合わせくださいね。
「こんなサーバーでも使えるの?」とか、
「MySQLのデータベースをtorocca!で、
保存する設定がよくわからない・・・」
っていう質問でもお受けしますよ。
お気軽にお問い合わせくださいね。
↓お問い合わせは、こちらをクリック
「これで、マルウェア対策もバッチリだね!」と思った方、ぽちっとお願いします^^
[…] おとうさん、どうすればtorocca!で、 エックスサーバーのMySQLデータをバックアップできるの? […]
はまぞふさん、こんばんは~MONです。
mQなんとか、コーン聞いたことが
ありますがエックスサーバーでは自動バックアップは
できないですが?
裏技的なところですね。
バックアップって記事などのことですか?
torocca!を使い事で自動バックアップが
できるようになるんですね!
MONさん、こんにちは。
はまぞふです。
コメントありがとうございます^^
> バックアップって記事などのことですか?
そうなんです。
WordPressの場合、記事やコメントのデータは、
全て”MySQL”というデータベースに保管されているので、
この部分をどうしてもバックアップしたかったんですよね。
でも、普通にやってもtorocca!では
バックアップできなかったので、
裏技的な方法でバックアップをするやり方を
ご紹介したのが、今回の記事です^^;
自動バックアップを行う時は、
参考にしてみて下さいね^^
はまぞふさん、こんにちは~
おお!まさにうっかりミスで全記事ぶっ飛ばした事がある
私のためにあるような記事ですね(笑)
本当、バックアップ大切ですよね。
当時はXサーバーにファイルを要請して
どうにかこうにか復旧できたのですが、
けっこう時間がかかりましたね・・・(涙)
「torocca!」だと復旧も早そうですし、
私も利用を検討してみようと思います!
素敵な情報をありがとうございました♪
美鈴さん、こんにちは。
はまぞふです。
コメントありがとうございます。
> おお!まさにうっかりミスで全記事ぶっ飛ばした事がある
> 私のためにあるような記事ですね(笑)
おぉ~そんな豪快な事があったんですね^^;
バックアップは大切ですね^^
> 当時はXサーバーにファイルを要請して
> どうにかこうにか復旧できたのですが、
> けっこう時間がかかりましたね・・・(涙)
確かにそうですね^^;
Xサーバーの復旧は、万が一の時には便利ですが、
復旧には、時間も費用もガッツリ掛かりますからね。
torocca!だと、サクッと終わりますし、
費用もそんなに掛かりませんからね。
検討してみて下さいね^^