こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Linuxの.sqlをwindowsに置く

タイトル通りですが、windowsで特にいじりません。
バックアップとして置いておきたいだけです。
置いてリストアなどでLinux側へ配置後実施の流れをとる場合、何か問題があるでしょうか。
[環境]
Linux:CentOS6.3
windows:windows server 2003
mysql:mysql2

よろしくお願いします。

投稿日時 - 2013-12-07 14:20:40

QNo.8376761

困ってます

質問者が選んだベストアンサー

>タイトル通りですが、windowsで特にい

その、タイトル通りがわからない。個人でやっているのか、小さなIT関連企業の20歳代の若手社員に多い方言をつかっているのでしょう。1、2社しか働いた事がないから、方言であることに気が付かない。


>Linuxの.sql

て、何ですか?

プレーンテキストファイルでSQL文が書かれている、SQLファイルですか?

>mysql:mysql2

mysql2 ????? 

もしかしたら、この投稿はスパイかテロリストの暗号文かもしれない。誰かスパコンで解読してくれ。



とりあえず検索して見た

https://www.google.co.jp/search?hl=ja&q=%22mysql2%22&lr=lang_ja

ここでよやくDB(ソフトごと)ごとバックアップをしたいようだ。それとも違うのか? SQLテキストファイルをバックアップしたいのかな?


不明と言う事で、一般的な話を。

ファイルだろうと、ソフトだろうとDBだろうと、問題はパーミッション等、ファイルシステムに依存するような物は、そのままコピーすると、そのOSのしきたりに従うので変わってしまう。つまり、そのまま戻しても、戻らない事を意味する。

通常、アーカイブやDUMPファイルとして保存する事になる。

コマンドでは、tar , dd , xxxdump 等、アーカイブコマンド とバックアップコマンドですね。お勧めは tar ですね。どのOSにもあるし、互換性も、ほとんど問題にならない。もちろんWindowsにはdefaultでは無いが、フリーのアーカイブソフトではほぼ、100%といっていいほど対応している(簡易解凍ソフトは対応していない<=当然でしょうねWindowsにないから)。

tar でアーカイブしたものは、好きなようにパーミッション等変更できるので、元のままでも、リストアー実行ユーザーに依存する形でもできる。Windowsのコピー、移動、バックアップソフトも、そのようにできているし、Windowsのコマンドの xcopy, robocopy にも同じように属性の可否が設定できるようになっている。

そう、つまり、バックアップコマンドでアーカイブして保存すれば、どこに保存しようが、かまわないことになる。

ただ、通常DBの場合、コールドバックアップが基本。その事をお忘れないように。後は、高機能のバックアップソフトに任せれば、安全に元に戻せる形で、アーカイブしてくれる。

投稿日時 - 2013-12-07 18:37:57

お礼

ご回答ありがとうございます。

最初なんの試練かと思いましたが、後述にあるとおりのバックアップコマンドで取得後どこにコピーしようが、のことを知りたかったのです。

エスパーさんなのかわかりませんが、興味ない分類なので勉強不足はその通りです!すごいです!

コールドバックアップについてのご教示までいただき感謝です。

重ね重ねですがスパコンでもわからない私のコードをコンパイルしていただきありがとうございました!

投稿日時 - 2013-12-08 23:01:43

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

No3ですが、他の回答者のために、記述。

http://dev.mysql.com/doc/refman/4.1/ja/mysqldump.html

http://dev.mysql.com/doc/refman/5.1/ja/mysqldump.html

などにあるように、MySQLフリーソフト付属のバックアップコマンドで吐き出す、データーをリダイレクトでファイルにする時に、公式サンプルでは(公式HP)


shell> mysqldump --opt database > backup-file.sql


などど、記述されている。それを質問者が、

>Linuxの.sqlを

なんて記述してしまうと、何の話をしているのか?  と言う事になる(リダイレクト自体も理解していないかも)。よく公式だけ覚えて何も考えない社員に多く見られる傾向ですね。質問者のかすかね巧妙は、「mysql:mysql2」と記述した点ですね。これで、何者かやっと分かった程度です。


で、なぜLinuxなどのUNIX系で拡張子が必要ないのに、付けてたかといえば、上記ページに、

「ダンプには、テーブル作成や入力のための SQL ステートメントが含まれます。」

とあります。つまり、俗に言う「SQLファイル」ですね(テーブル構造とデータのダンプ)。拡張子が必要ないのにつける場合は、慣習ですね。



(※備考: よく、tar コマンドでアーカイブしてファイルに

XXXX .tar

などtar コマンドでアーカイブした事があとでわかるようにわざわざつけます(UNIX系、Linux系)。付いてなくてもtarコマンドやOSでは何も困りません。ただし、OS側やファイルマネージャー等で紐付けしたらダブルクリックしたら特定ツールが起動するでしょうが。

SQLファイルも同じように慣習として、意味はありませんが、 .sql と拡張子をつける習慣があります。Windowsでも、それを使うソフトが存在しなければ、「不明ファイル」として、Windowsのアイコンが付くはずです)



つまり、RDBの構造を(ユーザー作製テーブル等)、他のRDBMSに移植用、バックアップ用にSQLファイルの形で、標準出力に表示するコマンドと言う事になります。中身はプレーンテキストですね。

このコマンドは通常

http://dev.mysql.com/doc/refman/4.1/ja/backup.html

にあるようにMySQLのバックアップコマンドですね。

以上ですが、当人に聞いていないので、実際このファイルなのかは不明。

投稿日時 - 2013-12-08 09:00:34

ANo.3

No2ですが、違った形で検索して見た

https://www.google.co.jp/search?hl=ja&q=%22mysql2%22&lr=lang_ja#hl=ja&lr=lang_ja&q=%22mysql%22%E3%80%80%22.sql%22&tbs=lr:lang_1ja

なるほど、馬鹿な素人の操作記録に

http://monopocket.jp/blog/mysql/2523/

などとのっていた。”.sql” に意味が無いのに、あたかも意味があるかのように書かれている。

http://d.hatena.ne.jp/rightgo09_ruby/touch/searchdiary?word=*%5BRuby%5D

この辺にも、失敗編の記述がある。

この当たりからの投稿でしょう。きちっとOSの事勉強しよう。

投稿日時 - 2013-12-07 18:55:24

ANo.1

Windowsに置くという行為がどのようなことなのか具体的なところが判断できかねますが
Windowsで使用しているハードディスクにファイルを置くと言う事でしたら…

パーティションを切って、そこへコピーしておけば良いと思います。
でもって普段はWindowsから見えないよう該当するボリュームを「未割り当て」にしておけば良いでしょう。

フォルダに保存すると意図しない事故(フォルダ毎削除や不要なファイルの追加など)が想定されますからね。

投稿日時 - 2013-12-07 14:48:11

あなたにオススメの質問