• ベストアンサー

mysqldumpについて

いつもお世話になっております。 MySQL4.0.21、phpMyAdmin2.6.0を使用しております。 mysqldumpコマンドをSSHでコマンド打つと、特定のテーブル以降のテーブルがダンプされません。 phpMyAdminでダンプするとキチンとダンプされるのです。 なぜなんでしょう?テーブル内のレコードに一部文字化けしているデータが含まれているのですが、エラーでちゃんと出力されていないのでしょうか? コマンドライン上にエラーは表示されません。 原因がわからずお手上げ状態です【><。】

  • nikuq
  • お礼率75% (477/631)
  • MySQL
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • kisoyasa
  • ベストアンサー率33% (1/3)
回答No.1

はずしていたら、すみません。 ひょっとして文字コードを指定したらいかがですか? ダンプ時 mysqldump … > … --default-character-set=sjis リストア時 mysql … < … --default-character-set=sjis 上は、シフトJISの例です。EUCだとujisでしたっけ。

nikuq
質問者

お礼

ありがとうございます。 早速試してみました。どうやら、文字コードの問題ではないようでした。

関連するQ&A

  • Mysqlでmysqldumpする方法を教えて。

    プログラマーが残していたphpプログラムがあります。 php自体は弄れるのですが、データーベース系の話は、私はさっぱり分かりません。 今回は、mysqlのデーターのバックアップを取りたいのですが、やりかたが分かりません。 mysqldumpしてダウンロードするようなのですが、そもそもサーバにログインする方法が分かりません。 mysqldumpを実行するために、何が必要なのか、どういう手順が必要なのか、 本当に全く分からない状態です。 mysql5を入れて、コマンドラインでやるのかと思って、インストールしようとしたのですが、インストールもうまくいかない感じです。 phpmyadminのように簡単にできるものがあれば、お教えいただければと思います。 (ちなみに、phpmyadminのエクスポートは容量制限に引っかかってできませんでした) お手数かと思いますが、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • SSHでのmysqldumpができません

    root権限を持たないVPSサーバにSSH接続しMySQLデータベースのバックアップをとりたいのですが、コマンドの書き方がおかしいのか、いっこうにmysqldumpが行われるようすがありません。SSHでの接続は正常に行われデータベース一覧等も取得できてはいます。 しかし、以下のようにコマンドをうってみても、何か入力をそくしているのかなんなのかリターンキーを押すそばから「-> 」が表示され、先に進みません。 これはどうなっているのでしょうか?、何か入力間違いがあるのでしょうか? また保存場所はどこになるのでしょうか? 不慣れな環境の中SSH接続でのMySQLメンテナンスで頭を抱えています。 データベース:mydb ユーザー名:root パスワード:n*****S mysql> mysqldump --default-character-set=binary -u root mydb --password=n*****S > mydbdump.sql

    • ベストアンサー
    • MySQL
  • mysqldumpのwhereテーブル指定について

    約1億レコードあるテーブルをWhere条件で絞ってダンプしたいのですが、下記方法でダンプすると、DBのすべてのテーブルに対応してしまう為、エラーとなってしまします。 Where条件設定時に、テーブルを指定する事は可能でしょうか? OS:CentOS6.7(64Bit) Mysql Ver:5.1.73(yumインストール) テーブル構成 テーブル名:systemevents ID : int(10) DeviceTime:datetime FromHost: varchar(60) Message:txet ◎絞り込み条件 mysqldump -uroot -p --where 'DeviceTime between '開始日' And '終了日' and FromHost Like '%ホスト名%'' 上記を実行すると、syslog以外のテーブルにも実行されるようで、下記エラーが表示されます。 mysqldump: Couldn't execute 'SELECT /*!40001 SQL_NO_CACHE */ * FROM `SystemEventsProperties` WHERE DeviceTime between 2015/08/01 and 2015/08/31': Unknown column 'DeviceTime' in 'where clause' (1054) where 条件指定じに、テーブルを指定する事は出来ないか? mysqldumpのほかに、DB構造を含めたデータを出力する方法はないか? いずれかの方法をお教え頂けましたら幸いです。

  • mysqldumpでの文字化けに関して教えてください。

    WindowsXPにMySQL4.1.15-nt,Apache2.0.55,PHP5.05をインストールしてプログラムを作りました。 MySQLのインストール先: C:\Program Files\MySQL\MySQL Server 4.1 MySQLにはEUCでデータが格納されています。mysqldumpで同一のWindowsXPへダンプしたところそのファイルを開くと文字化けしていました。以下を試しましたが解決しませんでした。 (1) shell> mysqldump -u userneme -p database > c:\backup.sql 秀丸で開くとUTF-8で開かれEUCで読み直しても解決しませんでした。 (2) shell> mysqldump default-character-set=ujis -u userneme -p database > c:\backup.sql 秀丸で開くとShift_JISで開かれEUCで読み直しても解決しませんでした。 (3)mysql.iniに末尾に下記を追加しましたが、解決できませんでした。 [mysqldump] default-character-set=ujis 将来的にはレンタルサーバー上で利用したいと思いPHPからMySQLへの格納をEUCにしました。 ダンプが文字化けをして大変困っています。なにか手がかりでもご教授いただければと思っています。 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • mysqldumpの使い方がイマイチ分かりません。

    こんにちは。よろしくおねがいします。 MySQLからMSSQLServerへデータを移すなどという事をやっているのですが、途中、詰まっています。 助言いただける方がいましたら、どうかよろしくおねがいしますm(_ _)m 【環境】 移行元: Windows2003Server MySQL5.1 移行先: Windows2003Server MSSQLServer2000 【やること】 MySQLにあるデータをMSSQLServerに移行する。 【方法】 1.移行元で、コマンドプロンプト起動。以下のコマンドを打ち込み、ファイルにする。 mysqldump -u ユーザ名 -pパスワード --default-character-set=binary --tab=D:/tmp --fields-terminated-by=, --fields-optionally-enclosed-by=\" --lines-terminated-by="\r\n" DB名 2.ファイルをテキストエディタで開き、「UTF8→SJIS」に変換し、保存しなおす。 3.ファイルを、移行先で、「bcpユーティリティ」を使用して、テーブルに放り込む。 【困っているところ】 mysqldumpを実行した後のファイルに、どうしたらいいのか不明なデータが入る。 テーブル構成は フィールド1:int(auto_increment) フィールド2:text(utf8_general_ci) のみです。 phpMyAdmin上で、データの挿入から、フィールド2に対して、「改行を含むデータ」を登録した場合、不明データが入ります。 ■登録データ あああああ いいいいいいい ううううう えええええええ おおおおおおお ■mysqldumpで作成されるデータ "あああああ\ いいいいいいい\ ううううう\ えええええええ\ おおおおおおお" 多分、今まで気にしていなかった(Win-MSSQL環境がほとんどなので...)改行コードが~といったところでは無いかとは思っていますが、 いろいろ試していますが解決に至っていません。 解説できる方がいらっしゃいましたら、どうかお力をお貸しいただけると助かりますm(_ _)m 試したこと。 --result-file=file あたりを使ってみた。 。。。意味なし? http://dev.mysql.com/doc/refman/5.1/ja/load-data.html 一応、読んで、オプションへの指定を変えて出力して取り込んでみるものの、特に変わらず。。。

    • ベストアンサー
    • MySQL
  • PHPからMySQLのバックアップをとるには?

    レンタルサーバのLinux+PHP4.2.1+MySQL3.23.42の環境で行っております。 HTML(PHP)フォームから、「バックアップ」ボタンが押されたときに、 MySQLのバックアップをとる(mysqldump)するプログラムを作りたいのですが、 mysqldumpコマンドは、SQLとしてクエリ送信できるのでしょうか? 例えば、 $strSQL = "mysqldump -u **** -p**** DB名 テーブル名 > dumptest.bak"; mysql_db_query($strSQL); のような感じでは、成功しませんでした。 mysql("DB名","mysqldump -u **** -p**** DB名 テーブル名 > dumptest.bak"; さらに、このような方法もあるみたいですが、 エラーも起こらないしdumpもされませんでした。 phpMyAdminなどは、どうやって実行しているんでしょうね。。。 知っている方がいましたら、是非ご教授くださいませ。

    • ベストアンサー
    • PHP
  • unix(freebsd)でmysqldumpコマンドが実行されない

    unix(freebsd)でmysqldumpコマンドが実行されない mysqlのバックアップとしてdumpファイルを指定の場所に保存したいのですが、 phpのsystem関数からmysqldumpが実行されずに困っています。 開発はwindowsで行っており、ローカル上では正常に動作してくれたのですが、 unix(freebsd)のサーバに乗せたところ、127コードエラーが発生しておりdumpファイルが生成されていない状況です。 サーバの違いによるものだと思うのですが、根本的な原因もわからず解決策が見つからずにいます。 情報不足とは思いますが、原因と対応策(アドバイス)等を教えて頂けないでしょうか。 以下に環境設定とコマンドを記しておきます。 【環境設定】 OS:FreeBSD 6.2 PHP:version 5.2.4 ※レンタルサーバを使用しています 【コマンド】 mysqldump --user=ユーザ名 --password=パスワード データベース名 --opt > /usr/home/~中略~/tmp/logs/mysqldump/test.dump ※/tmp以下のディレクトリのパーミッションは現状777にしています。

    • ベストアンサー
    • PHP
  • 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
  • mysqldumpにて復元できない

    xamppのmysqlを使っていたのですが、エラーが出て動かなくなったため、xamppは削除してMysql5.5.13を新たに導入したのですが、xamppの削除するまえにbackupを取っていた*.sqlが復元できません。  コマンドプロンプトより、mysqlのbinフォルダーまで移動して、そこでmysqldump -uユーザ名 -pパスワード名 データベース >復元するファイル名を行いましたが、復元できません。  インターネットで調べたりしているのですが、復元方法がわかりません。  ご教授の程宜しくお願い申し上げます。

  • mysqldumpにおけるメモリの使用

    mysqldumpを使用して日次バックアップを取得しているのですが、 新しいサーバに変えたあとにDump時間が長くなっています。 MySQLバージョン:v4.0 サーバスペック:   新サーバのほうが高い(メモリは16GB→60GB)   InnoDBのバッファプールサイズを12GB→45GBに増やしました。 現象:   新サーバ以降後に、Swap in/outが頻繁に発生しています。   freeやvmstatで見る限り、メモリ空きは0ではない状況です。 mysqldump指定オプション:   --opt や --quickを指定してもdump時間は短縮されませんでした。 InnoDBのバッファプールサイズの指定が大きすぎたのでしょうか。 何か解決策はないでしょうか。

    • ベストアンサー
    • MySQL