C++Builder2007ですが
データベースのバックアップ(MySQL)を
別サーバーに定期的に取りたくて
サーバーA(元)はSQLConnection1とSQLTable1で接続し、
サーバーB(先)はSQLConnection2とSQLTable2で接続したのですが・・・
そこからどうやって各テーブル内容をAからBに作成したらいいのでしょうか?
ちなみにBにはデータベースはありますが、テーブルは無いので
テーブルを作成して全レコードをコピーしたいのですが・・・
簡単にテーブルを丸ごとコピーする方法があったら教えてください。
また、SQLTableを使ってはいますがこれに拘っているわけではありませんので
他のコントロールで簡単にできるものがあれはそちらでも構いません。
よろしくお願いします。
>データベースのバックアップ(MySQL)を
>別サーバーに定期的に取りたくて
C++Builder2007 を使わない方法であれば、
Googleなどで、"MySQL バックアップ"で検索すれば、ありそうな気がしますが、
それでは、だめですか?
igyさん、お答えありがとうございます。
それは、mysqldumpでsqlファイルを出力してmysqlでリストアする方法ですよね?
それは現在行っている方法なのですが・・・
今回はCBuilderを使って行いたいと思っております。
SQLTableを使うとフィールド情報(型、キー)が入っているみたいなので
この情報を利用してそのまま他サーバーのDBにテーブルを作成できればいいかなと思いまして・・・
私はやった事はありませんが、phpMyAdminでは SQL文でインポート/エクスポートが出来ますから
プログラムでも、SQL文のみでDBのバックアップが出来るかと思います。
(ただし、phpMyAdminを解析しないといけませんが)
ただ、mysqldumpでバックアップをしますと少々大きくてもあっさりと終わるのに対し、
上記のインポート/エクスポートで行いますとバックアップにかなり時間が掛かります。
それらを踏まえますと、オーソドックスに mysqldumpの方をお奨めします。
はなさんお答えありがとうございます。
SQL文でバックアップできるなら簡単でいいのですが・・
もうちょっとSQL文探してみますありがとうございました。
テーブル毎のバックアップであれば、
Select * From Table1 into OutFile 'c:/テキストファイル名'
Fields Terminated By ','
Lines Terminated By '/r/n'
とかで、可能では?
データーベースのバックアップは、それぞれのRDBMSのバックアップツールを使うのがベストだと思います。テーブルだけでなく関数やプロシジャーなどがありますから。
ツイート | ![]() |