• ベストアンサー

データのバックアップ

SELECT * FROM テーブル名 INTO OUTFILE 'パス'; をしましたが can't create/write to file 'パス' とエラー表示されてしまいました。 どのようにしたらバックアップができるでしょうか? 環境はWindowsXPです。

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

  • ベストアンサー
回答No.1

パスは、具体的にどんな指定をしたのでしょうか?

SariGEnNu
質問者

お礼

ありがとうございます。 元々はc:\test\test.sqlで試してみました。 このときは上手くいきませんでしたが test.sqlとしたらc:\mysql\…\data\test\test.sqlに入っていました。 なので、一応実行できました。 今度はこれをPHPのmysql_queryから実行しようとしましたが、 これは上手くいきませんでした。 (mysql_connectは成功しています。)

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

関連するQ&A

  • select * outfileがうまくいきません。

    rootで接続して データのバックアップを試そうとしたのですが、エラーが出ます。 mysql> select * from user into outfile "/root/outfile"; ERROR 1 (HY000): Can't create/write to file '/root/outfile' (Errcode: 13) 他のディレクトリも試したのですがうまくいきません。/var/tmp以下はうまくいきました。なぜでしょうか?

    • ベストアンサー
    • MySQL
  • MySQLのバックアップ時のタブについて

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

    • ベストアンサー
    • MySQL
  • Accessでのテーブルのコピー

    はじめまして、よろしくおねがいします。 リンクテーブルのバックアップテーブルを作りたいのですが、 Accessで出来るでしょうか? Access2003にて、 「Create table TABLE_A as select * from TABLE_B;」 のクエリを実行しようとすると、 「CREATE TABLEステートメントの構文エラーです」 とエラーが出ます。 TABLE_Bテーブルは、他のDBからのリンクテーブルです。

  • PHPでMySQLのデータのインポート&SELECT結果のダウンロード

    こんにちは。いつもここにはお世話になっています。 ご質問が何点かあって申し訳ないのですが、簡単に作ろうとしているスクリプトを説明すると一日一回夜中にCSVかTEXT形式でデータがアップされます。それをMysqlの指定したテーブルにインポートします。その際前日のデータは全て削除します。作られたCSVファイルも削除したいんです。翌日にそのインポートされたデータを検索し必要に応じて検索されたデータをダウンロードできるようにしたいんです。ダウンロードするファイルはCSVでファイル名はテーブル名に検索した時の時間をつけた名前。これを全てPHPで行いたいんです・・・。 現在検索とSSHでログインしてのMysqlにインポートはできました。ダウンロードはまだ挑戦していないのですが、まずファイルを作ることとPHPでのデータのインポートができるのかわかりません。 質問なのですが、 1.分かりにくいのですが、上記のようなことはPHPで可能でしょうか? 2.データのインポートはPHPではどのようにしたらいいのでしょうか? 3.テーブル内のデータの削除はDELETEを使えば可能なのはわかりましたが、指定したフォルダ内のファイルを削除する方法はありますか? 4.SELECTで検索したデータが画面に表示されダウンロードできるようにファイルを作るのに $sql = "SELECT * FROM テーブル名 WHERE フィールド = \"条件\" "; $sql .= "INTO OUTFILE \"/home/パス/テキスト.CSV(or txt)\""; $res = mysql_query($sql); とスクリプトを記述しましたが出来ませんでした。 SShでmysqlにログインをして mysql> SELECT * FROM テーブル名 WHERE フィールド = '条件' -> INTO OUTFILE '/home/パス/テキスト名.txt'; とするとできたのですが、単純にこれをSELECT等と同じようにしたらダメなのでしょうか? 質問が多く申し訳ないのですが、ご教授をよろしくお願いします。

    • ベストアンサー
    • PHP
  • カラムをコピーして、新規カラムを作成したい

    既にあるカラムをコピーして、新たなカラムを作成したいのですが、うまくいきません。 どうしたらいいでしょうか? INSERT INTO `rtable`.`3_column` SELECT * FROM `rtable`.`2_column` 実行すると、下記エラーになります。 #1142 - INSERT command denied to user 'DBユーザー名'@'localhost' for table '3_column' 通常のINSERTなら出来るのですが、この場合のINSERTは、何か特別な実行権限になるのでしょうか? 環境:レンタルサーバ ちなみに、テーブルをコピーして、新規テーブル作成するのは、下記で出来たのですが、 「テーブルコピー」と「カラムコピー」では、何が違うのでしょうか? INSERT INTO `データベース名`.`newtable` SELECT * FROM `データベース名`.`oldtable` ;

    • ベストアンサー
    • MySQL
  • テーブルデータの並び替えについて。

    テーブルデータの並び替えについて。 環境:ACCESS2000 状況:テーブル2つ(マスターテーブル、マスターコピー)    メインフォーム上にサブフォームを置き、マスターコピーのデータを    表示させているのですが、そこで並び替えをする予定。    マスターテーブルのフィールド     種類  /  サイズ  /  商品名    ※マスターコピーも同様(マスターテーブルを全てコピーのため) 現在のコード: Dim db As Database Set db = CurrentDb db.Execute "DELETE * FROM マスターコピー" db.Execute "INSERT INTO マスターコピー SELECT * FROM マスターテーブル" SELECT 種類, サイズ, 商品名 FROM マスターコピー ORDER BY 種類, サイズ ←ここでエラー エラー内容・・・構文エラー まだACCESS未熟のため完全には理解できておらず ネット検索等で調べてコードを組んでいるため 何が間違っているのかわからず、ご質問させて頂きました。 お手数お掛けしますが、何卒ご教授の程宜しくお願い致します。

  • 検索結果をファイルに出力するコマンド

    SQL Server2000を使用しています。 検索結果をウィザードを使わずにファイルに書き出すにはどうしたらよいでしょうか。 My SQLだと select * from table1 into outfile 'file1.txt' のようになると思いますがSQL Serverだとどうなるでしょうか。 持っている本によるとウィザードを使用する となっていて コマンドの記載がありません。 よろしくお願いします。

  • 複数のテーブルからデータを取得したい

    1つのテーブルから重複したデータを取り除いて表示するときに使う 【select distinct カラム名 from テーブル名;】 がありますよね。 それと同じようなことを複数のテーブルをまたいで行いたいのですがうまくいきません。 ちなみに両方のテーブルのカラム名は同じです。 【select distinct カラム名 from テーブル1 union select distinct カラム名 from テーブル2;】 としても重複を取り除いた後にテーブルを結合してるので結果的に両テーブルの重複した値を取り除くことができず。 そこで 【select distinct T1.カラム名, T2.カラム名 from テーブル1 T1. テーブル2 T2;】 としてみたのですが、クエリを実行中のまま反応がないので悩んでます。 ちなみに2つのテーブルのデータはそれぞれ2万件ほどです。 こういう時どういうsql文を組むのが正しいのでしょうか?

    • ベストアンサー
    • MySQL
  • 既存テーブルから別テーブルへのデータコピー時、発番を行いたい

    お世話になります。 テーブルからテーブルへのデータコピーをしたいのです。 たとえば、 ワークテーブルから売上テーブルへ データをコピーするとします。 売上テーブルには、主キーとなる「売上NO」(10桁)という項目があります。 ワークテーブルには売上NOはないので、データ移行時に売上NOを作成してやらないといけません。 一文だけで片付けようとすればどう書けば良いのでしょう?というか一文では無理なのでしょうか? insert into 売上テーブル (売上NO,販売単価......) select (select right('0000000000' + (convert(nvarchar,max(売上NO) + 1)),10) from 売上テーブル) ,販売単価..... from ワークテーブル とやってみましたが、ダメでした。一括でデータ追加に行くので主キー重複エラーとなりました。 どなたかご教授ください。お願いします。

  • MySQLのエラーの意味

    お世話になります。 | Field | Type | Key | ------------------------------ | ID | int(11) | PRI | | NAME | varchar(50) | | | BIKO | varchar(100) | | とテーブルを作成し、 データの中身を | ID | NAME | BIKO | +----+--------+------+ | 1 | あああ | なし | | 2 | いいい | | | 3 | ううう | なし | と作成しました。 このテーブルを元に同じデーブルに新しいテーブルを作成しようと思っているのですが、 1)INSERT INTO kadai_table (ID,NAME) SELECT ID , NAME FROM kadai _table; とすると Duplicate entry '1' for key 1 というエラーがかえってきます。 2)INSERT INTO kadai_table (ID,NAME,BIKO) SELECT ID , NAME , BIKO FROM kadai _table; とすると Duplicate entry '0' for key 1 というエラーで テーブルが | ID | NAME | BIKO | +----+--------+------+ | 1 | あああ | なし | | 2 | いいい | | | 3 | ううう | なし | | 0 | あああ | なし | となってしまいます。 3)INSERT INTO kadai_table (ID,NAME) SELECT (ID,NAME) FROM kadai_table; とすると ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp onds to your MySQL server version for the right syntax to use near 'NAME) FROM k adai_table' at line 1 とかえってきます。 3)のエラーの原因は構文の記述ミス・・・?と考えているのですがはっきりとしていません。 初歩的な問題なのでしょうが、googleなどで調べてみても思うようなエラーの原因が理解できません。 どなたか教えていただけないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL