• 締切済み

MySQL データベースのバックアップ

MySQLのデータベースを自動でバックアップできますか?テーブル単位でのバックアップも自動でできますか? お願いします。

みんなの回答

noname#96703
noname#96703
回答No.2

補足です。 mysqlhotcopyでエラー出力して異常終了しているようでしたら、mysqlhotcopyを少し書き換えてください。 my @dbh_tables = eval { $dbh->tables() }; map { s/^.*?\.//o } @dbh_tables; ← 追加

全文を見る
すると、全ての回答が全文表示されます。
noname#96703
noname#96703
回答No.1

OS情報がないのでどっちのMySQLか分からないですが・・・ とりあえず、当方が使ってるバックアップスクリプトを載せておきます。 ちなみに、Fedora8で運用中。 下のスクリプトをcron等で動かしてくださいな #!/bin/bash PATH=/usr/local/sbin:/usr/bin:/bin # バックアップ先ディレクトリ BACKDIR=[バックアップ先ディレクトリ] # MySQLrootパスワード ROOTPASS=[Mysqlrootパスワード] # バックアップ先ディレクトリ再作成 rm -rf $BACKDIR mkdir -p $BACKDIR # データベース名取得 DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /` # データベースごとにバックアップ for dbname in $DBLIST do table_count=`mysql -u root -p$ROOTPASS -B -e "show tables" $dbname|wc -l` [ $table_count -ne 0 ] && mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy done

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • mysqlデータベースリストア

    MySQL初心者です。 基本的な質問ですが、教えてください。 MYSQLデータベースのバックアップは、コマンドラインからmysqldumpでバックアップを行うと思います。 CMD>mysqldump -u(ユーザーグループ) -p(パスワード) (データベース名) > (バックアップファイル名).sql バックアップSQLを使って再度リストアで入れなおす場合は、 drop database (データベース名);と create database (データベース名); を実行してから行う必要があるのでしょうか? (バックアップファイル名).sqlの中身を見てみると、 CREATE TABLE '(テーブル名)' (・・・・ ・・・)の前に DROP TABLE IF EXISTS '(テーブル名)'; のようにテーブルのdropをしてからの処理はあるのですが。

    • ベストアンサー
    • MySQL
  • MySQLのデータベースのバックアップを取り込む方法について。

    MySQLのデータベースのバックアップをphpMyAdminのエクスポートで取っていました。 そのバックアップを新しいデータベースに取り込みたいのですが、うまく行きません。 すでに、同じ名前で同じ構造の新しいデータベースは作成済みで、新しいデータも生じているのですが、phpMyAdminでバックアップしたファイルをインポートすると、古いデータは取り込めるのですが、新しいデータが消えてしまいます。 バックアップしたデータを新しいデータに追加するには、どうしたらいいでしょうか?

    • ベストアンサー
    • MySQL
  • MYSQL テーブルデータエクスポート→インポート

    mysqlのテーブル単位でのバックアップ/インポートの方法を 教えてください。 mysqlのデータベース  abc テーブル名 dfg 試しに下記内容をやってみたいですが、コマンドラインからの 方法を詳しい方ご教授頂けませんでしょうか? abc データベース中のdfgのテーブルのデータを abcのコピーDBのabc2というデータベース中のdfgへインポート更新 させたいのですが、DB単位でのバックアップはわかるのですが、 テーブル単位でのコマンドラインがわかりません。 どなたかわかられる方ご教授頂けませんでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • PHPでMySQLのデータベースを新規で作るには?

    こんにちは PHPとMySQLを勉強しているものです。 PHPからMySQLの既存データベースの接続や、テーブル参照はわかったのですが、 新規にデータベースやテーブルを作るときには PHPからどういう記述を行えばできますでしょうか。

    • ベストアンサー
    • PHP
  • MySQL(innodb)のバックアップについて。

    innodbとはMySQLで取り扱えるデータベースの1つで、MySQLで取り扱える他のデータベースと違うところはinnodbにはトランザクション機能がある、というところまではわかっているのですが、innodbのバックアップにはinnodb HotBackupという製品があるようです。MySQLの事もデータベースの事もあまりわかっておらず、ここで質問するのもご迷惑かもしれませんが、MySQLのデータベース(特にinnodb)のバックアップの際には、mysqldumpコマンドだけでは対応できないので、innodb HotBackupという製品があるのでしょうか。何を質問しているかわかりづらいようでしたら申し訳ないですが、どうぞ宜しくお願いします。

  • MySQLのバックアップ時のタブについて

    MySQL 4.0.20を使っています。 テーブルのバックアップでよく select * into outfile 'ファイル名' from テーブル名; とするとテーブルのバックアップが取れますが、内容はタブで区切られたファイルになっています。 もし、データベースの値にタブを使っていた場合は、区切り文字のタブとデータのタブとを誤認せず、後で正しくリストアできるのでしょうか?

    • ベストアンサー
    • MySQL
  • テーブル単位のバックアップ&リストア

    MySQLのデータベースのバックアップ&リストアの方法については いろんなサイトで説明がされていて学習していますが、テーブル 単位のバックアップ&リストアの方法が不明ですので、その方法を 教えて下さい。 サンプルのテーブルを使って、具体的に記載してもらえると嬉しい のですが、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • CGI + Mysqlによるバックアップ

    Perl5.8*とDBIモジュールでMysql5をつかってWebアプリを作成しているのですが、不明なことがありましてどなたかご教授いただけましたら幸いです。 phpMyadminは各データーベースレベルやテーブルレベルでSQL文をエクスポートができますが、Perlで上記のようにひとつのデータベースを一括でエクスポートできますでしょうか? 最終的には実現したいことは定期的にcronなどで毎日バックアップをとりたいのです。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • MySQLデータベース自動バックアップ

    CentOS5でMySQLをインストールし、MySQLの全てのデータベースを サーバ内の他のディレクトリにバックアップするためのスクリプトを作成しています。 http://centossrv.com/mysql-backup.shtml このページを見ながらその通りにしているのですが、スクリプトを実行した時に、 ./mysql-backup.sh: line 9: rm: command not found ./mysql-backup.sh: line 10: mkdir: command not found ./mysql-backup.sh: line 12: ls: command not found ./mysql-backup.sh: line 12: grep: command not found というエラーが出て実行ができません。 どのように対処すれば良いでしょうか。

  • mysqlのバックアップについて

    mysqlのバックアップを検索したところ、データベースがオンライン(稼働中)の場合、mysqlhotcopyやmysqldumpを使ってのバックアップで、オフラインの場合は、/var/lib/mysql/*のディレクトリコピーをするといったサイトが多いのですが、オンライン中(稼働中)に/var/lib/mysql/*のディレクトリコピーをするのは問題があるのでしょうか。 単純にディレクトリコピーをしてしまえば、リストアの時も簡単な気がするのですが、オンライン中にディレクトリをコピーしたら、壊れるとかありますか。 よろしくお願いします。

    • ベストアンサー
    • MySQL

専門家に質問してみよう