人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQL dumpファイルの互換性について。
phpMyAdminを使い、MySQL 3.23で出力したmysql.dumpをMySQL 5.1で読み込もうとしたのですが、以下のようなエラーがでてうまくいきません。

#1064 - 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 '---------------------------------------------------------
-- Server version 3.23' at line 1

両バージョンには互換性がないのでしょうか?
うまく読み込む方法、もしくは互換性がないならdumpファイルの変換方法などを教えてください。

●質問者: siren2
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:23 AT dump Manual MySQL
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● b-wind
●60ポイント ベストアンサー

http://dev.mysql.com/doc/refman/4.1/ja/mysqldump.html

mysqldump で出力したSQLは基本的に上位互換です。

前のバージョンでは使用できませんが、新しいバージョンのサーバーで使用する上で問題になる事はほとんどありません。


ただし、MySQL4.1 以上だと標準が UNICODE になったせいで日本語の扱いが変わっています。

http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_40

MySQL5.1 であれば、skip-character-set-client-handshake を設定した上で、dump したファイルの先頭で SET NAMES 構文を使うと対処できるかもしれません。

以下 sjis の場合。

SET NAMES 'sjis';

また、データベース自体が latin1 等になっていると日本語が使えないのでその際は文字コードを変更して作り直す必要があります。

◎質問者からの返答

ご回答ありがとうございます。

互換性があるとわかっただけでも調べる範囲がかなり絞れました。

最終的にうまくいったのですが私がつまずいたところを書いておきます。

▲データベース単位でエクスポート/インポートしていたものを、いくつかのテーブルごとに分けて処理することでうまくいきました。データベース単位でもインポート最大サイズの1/10しかなかったのですが、なぜかうまく処理してくれませんでした……。

▲インポート成功までたどり着いたもの、おっしゃるとおり文字化けに悩まされました。これは、phpMyAdmin(with MySQL 3.23)のメインページで[Language][日本語 - Japanese (utf-8)]としエクスポート、phpMyAdmin(with MySQL 5.1)で[ファイルの文字セット][utf8]としてインポートすることで解決しました。

当初Languageはあくまでユーザーインターフェースのことで、エクスポートのエンコードまで変わるとは思いませんでした(^^;;

▲直接は関係ないのですが今回の作業はMovableType3.33-jaの引越しのためでした。上記手順でデータベースの移動は完了したものの、MovableType上で文字化けが発生してしまいました。これはmt-config.cgiにSQLSetNames 1を指定することで解消できました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ