• ベストアンサー

リストアするとファイルが消える

MySQL4.1.21です。 データベースを別のサーバに移しているのですが、dump→dumpファイルのリストアが上手くいきません。 移すほうのサーバでデータベースを作り、 mysql -u [ユーザー名] -p[パスワード] [データベース名] > [dumpファイル名] としたのですが、それを実行するとdumpファイルが空(サイズが0KB)になってしまうのです。 以前はこの方法で問題なく移せたのですが・・・。原因の分かる方おられましたらご教示お願いいたします。

  • MySQL
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>リストアする時 mysql -u・・・ < dumpファイル名 じゃない?リダイレクトの向きがさかさま?

52966925
質問者

お礼

ずばりその通りでした。 基本的なところでお恥ずかしいです・・・。 矢印の方向にデータを移すんですね。 以後気をつけます。 すばやい返答ありがとうございました。 非常に助かりました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>mysql -u・・・ mysqldump -u・・・・ じゃないのでしょうか?

52966925
質問者

お礼

>mysqldump -u・・・・ >じゃないのでしょうか? 言葉足らずですみません。上記はダンプする時ですよね? ダンプはそれでできます。ダンプしたファイルをリストアする時にファイルが0KBに書き換えられてしまうという現象が起きております。 よろしくお願いいたします。

関連するQ&A

  • MySqlで、DBのファイルサイズ圧縮は?

    お尋ねします。 MySqlのINNODBのファイル容量を削減する方法は、 1.mysqldump -A -u root -p パスワード --opt > ダンプファイル名 でダンプ 2.DBファイルを”rm”で削除(あるいは、別フォルダに退避) 3.CREATE DATABASE データベース名 CHARACTER SET utf8; でDB再構築 4.mysql -u root -p パスワード < ダンプファイル名 でリストア で、良いんでしょうか?(^^;

  • バックアップとリストアについて

    Mysqlのデータバックアップを mysqldump -u root -x --all-databases > dump.sql のように行っております。 私の場合、すべてのデータベースをバックアップしたいので、allにしてます。 リストアの際には mysql -u root -p < dump.sql としております。 しかし、データベースが復元されません。 allとしてバックアップを行ったのに、データベースが全く復元されません。 何か特別な方法があるのでしょうか?

    • ベストアンサー
    • MySQL
  • psqlでのリストアの仕方

    Windows上でPostgreSQL8.0を使用しています。 DBのバックアップを毎日自動で(タスク登録して)とっています。 具体的にはバッチファイルの中で以下のようなpg_dumpコマンドを実行させています。 「pg_dump -U ユーザー名 -f %DATE:~0,4%%DATE:~5,2%%DATE:~8,2%EXPDAT.db DB名 <dmp.txt」(なお、最後のテキストファイル内にはたぶんパスワードと思われる内容が記載されています。) 通常はAdminIIIを使用してバックアップおよびリストアを行っており、上記のバッチ実行にて作成されたダンプファイルからのリストアを行ったことがありません。(拡張子がBackupでないので、AdminIIIからのリストアはできませんでした) ヘルプや書籍を参考に、psqlからのリストアを試みたのですが、そもそもどのようにコマンドを入力してよいかわかりません。 試した内容は以下の通りです。 1.psql.exeを実行 2.ホスト名、ユーザー名、パスワード、データベース名をそれぞれ入力 3.データベース名#> が表示されるので、「psql -U ユーザー名 -d データベース名 -f "c:\20070822EXPDAT.db"」と入力し実行すると、psqlという文字列に対してsyntaxエラーとなってしまいました。 そもそも、psql画面でのコマンドの入力方法がよくわかっておりません。書籍などをみるとよく「psql -U xxx -d xxx -f xxx」と書いてありますが、実際に入力するのはどこからでしょう? 担当者が退社してしまい、手探り状態で運用し始めたところです。 大変初歩的な質問で申し訳ありませんがよろしくお願いいたします。

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

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

    • ベストアンサー
    • MySQL
  • バッチファイルではパスワードが標準入力で求められるので うまくいきません。

    Windows Vistaを使っています。 起動時にMySQLをリストアするバッチファイルを書いてタスクによって自動実行させたいのですが、 mysql -u root -p データベース < データベース.sql というバッチファイルではパスワードが標準入力で求められるので うまくいきません。 パスワードも自動的に付加する方法はありますか?

    • ベストアンサー
    • MySQL
  • mysqldumpについて

    MySQL初心者です。 すみません。教えてください。 mysqldump -u(ユーザー) -p(パスワード) --default-character-set=sjis (データベース名) > (ファイル名).sqlでバックアップを実行すると自動的に1つのsqlファイルに全テーブル分、以下のように生成されているのですが、リストアする時は既存のデータベースを削除(drop database データベース名;) する必要がない。又、権限付与(grant)もする必要が無いということになりますでしょうか? 逆にdatやdumpファイルとしてバックアップしているものについては、データベースの削除&権限付与等行う必要があるということになりますでしょうか? DROP IF EXISTS 'テーブル名' ; CREATE TABLE 'テーブル名' ( ) INSERT INTO 'テーブル名' VALUES ( )

    • ベストアンサー
    • MySQL
  • tar.gzファイルのリストアについて

    Postgres初心者です。 教えてください。 pg_dumpコマンドでdump拡張しのバックアップファイルを生成し、 tarコマンドで****.tar.gzファイルに圧縮しました。 このtar.gzのファイルを直接リストアするコマンドがあれば 教えていただけないでしょうか? -bash-3.2$pg_restore -U postgres -d (データベース名) < ****.tar.gz と実行すると、以下のエラーメッセージが表示されます。 →pg_restore: [アーカイバ] 入力ファイルが有効なアーカイブではないようです。 -bash-3.2$gunzip -C ****.tar.gz | pg_restore -d (データベース名) と実行すると、以下のエラーメッセージが表示されます。 →pg_restore: [tarアーカイバ] tarアーカイブ内でファイルtoc.dat用のファイルヘッダがありませんでした よろしくお願い致します。

  • MySQLデータベースリカバリ文字コード指定

    Windows環境でのMySQLのデータベースバックアップで、以下のように文字コードを指定してバックアップが行われています。 mysqldump -uユーザ名 -pパスワード --default-character-set=sjis データベース名 > ****.sql バックアップからリストアするのですが、同じサーバ上で既存の同じデータベース(名)があるので 一度DROP DATABASE データベース名;してからCREATE DATABASE データベース名;を行うつもりです。 以下の2点について教えてください。 (1)create databaseする際に文字コードを指定する必要がありますでしょうか? create database データベース名 CHARACTER SET sjis; (2)リストア実行時に文字コードを指定する必要がありますでしょうか? mysqldump -uユーザ名 -pパスワード --default-character-set=sjis データベース名 < ****.sql 因みに ※my.iniには文字コードの指定で、sjis指定の表記がありました。 ※Moveble TypeでMySQLをデータベースとして使用しています。  よろしくお願いします。

    • ベストアンサー
    • MySQL
  • ArcserveでのOracleのリストアについて

    Arcserve2000 Workgroup EditionとArcserve2000 Backup Argent for Oracleを使用してDATテープにてOracleのバックアップを取ろうと考えていますがリストアがうまくいきません。(バックアップは正常に取れていると思います。) リトトアを実行すると以下のようなエラーが出ます。 ================================================  Backup Agent エラー -- (213) ”Oracle Serverが実行中のためリストアできません。”. ================================================ Oracle Serverが実行中とあったのでOracleのサービスを止めて見ましたがそうすると以下のエラーが出てしまいます。 ================================================  Backup Agent エラー -- (85) ”間違ったユーザIDまたはパスワードが入力されました。”. ================================================ リストアを実行するときの情報は以下のとおりです。 ================================================ セキュリティ画面  ユーザ名:system  パスワード:systemのパスワード セッションユーザ名およびパスワードのユーザ情報画面  ユーザ名;system  パスワード:systemのパスワード  セッションパスワード:NULL  IP/IPXアドレス:NULL ================================================ バックアップの取り方自体に問題があるかもしれませんが、バックアップのジョブは正常に終了しているのでリストアに問題あると思います。ですが原因がわかりません。回答の程よろしくお願い致します。

  • SSHを使ったmysqlのエクスポート方法

    SSHを使ったmysqlのエクスポート方法を教えてください LinuxコマンドもMysqlも初心者ですが、最近SSHを使ってレンタルサーバーに接続をしていろいろと試してみています。 以下を試してみましたが、エラーが出てでエキスポートできませんでした。 1. $mysql -h サーバー名 -u ユーザ名 -p 2. mysqlのパスワードを入力してmysqlにログイン 3.mysql> mysqldump -u サーバー名 -p データベース名 > testdump.sql; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysqldump -u サーバー名 -p データベース名 > testdump.sql' at line 1 というエラーができてエクスポートできません。 mysql> mysqldump --user=ユーザ名 --password=パスワード名 データベース名 < testdump.sql も試してみましたができませんでした。 以上のものは全てweb上で見つけたコマンドです。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL