• ベストアンサー

既存のテーブル構造をエクスポート→他機にインポートなんてできませんか

次のようにバージョンばらばらな2つの環境があります。 【A. 外注で作って稼働中の本番環境】 FreeBSD 4.7 Apache 1.3.37 PHP 4.3.11 MySQL 4.0.25 phpMyAdmin 2.6.1 【B. わたしが今、ローカルにセットアップした環境】 WindowsXP(SP2) IIS 5.1 PHP 5.1.4 Win32 MySQL 5.0.24a phpMyAdmin 2.8.2.4 「A. 本番環境」の (1) DBのテーブル構造(varchar(8) とか、InnoDBとかNOT NULLとか) (2) DBに登録されているデータ といったあたりを「B. ローカル」に移行したいのですが、 そんなことってできますか。 なぜ、本番環境と同じものをセットアップしなかったか (=バージョンがばらばらなのか)には、一身上の事情があります。 極めてシンプルなシステムなので、Aで動くPHPファイルは Bでも動くと思います。

  • MySQL
  • 回答数4
  • ありがとう数4

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

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.4

本番環境にphpMyAdminが使える状態ならば phpMyAdminでSQL文でエクスポートさせて そのSQL文をローカルのphpMyAdminで実行させればいいだけです テーブル構造からレコードまでごっそりとエクスポートできますよ レコード数が数千程度ならばいいんですが、数万とか数十万レコードとなると、出力されるファイルがでかすぎてphpMyAdminではめっちゃ処理が重くなりますけどね あと、気になるのが >Aで動くPHPファイルはBでも動くと思います。 ですが、PHP4シリーズを前提に作っているのであれば5じゃ動かない可能性、又は違う動きをする可能性もありますよ おまけにもう一つ、本番環境とローカル環境のMySQLのバージョンも違いますね エクスポートさせたSQLをそのままローカル環境にぶち込んだ場合、文字化けに悩む可能性もあります

litton101
質問者

お礼

inu2さん、ご教示ありがとうございました。 >SQL文でエクスポートさせて これを読んで再度phpMyAdminの画面を 隅々まで探してみたら、ありました。 CREATE TABLE文、全レコードのINSERT文を 丸ごと一本のテキストファイルとして 抽出できました。 まさにこういうのを探していたしだいです。 結局は#1さんがおっしゃるダンプということなのですね。ありがとうございました。

その他の回答 (3)

回答No.3

サーバは手元にないんですか?遠隔ならばTelnetやSSHで接続すれば可能かと思いますが・・・。

litton101
質問者

補足

はい、サーバーはレンタルサーバーです。 やっぱいTelnetとかですか。。。 とにかく調べてみます、ありがとうございます。

回答No.2

mysqldump --all-databases > 出力ファイル名 とすればダンプできますが、これはSQLコマンドではなくコマンドプロンプト上から発行するものですよ?

litton101
質問者

お礼

king_joe1006さん、たびたびのコメントありがとうございます。 >SQLコマンドではなくコマンドプロンプト上から発行するもの そういうことでしたか。失礼しました。 では、サーバー上にインストールされているMySQLに 対してはどうやって発行したらいいのでしょうか? Telnetとかになるのですか?

回答No.1

旧機器のMySqlからデータベースを丸ごとダンプして新機器で取り込めばいいのでは?

参考URL:
http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html
litton101
質問者

お礼

king_joe1006さん、早速ありがとうございました。 そんなすごいことができるのですね。 本番環境(レンタルサーバー上にあります)の hpMyAdminの、SQL発行窓から mysqldump dbnameとやってみれば、 DBの塊ファイルのダウンロードダイアログでも 出てくるのかと思いましたが #1064 - You have an error in your SQL syntax. (略) とかで、お恥かしいことに歯が立ちませんでした。

関連するQ&A

  • phpMyadminでどうしてもinnoDBが有効になりません。

    phpMyadminでどうしてもinnoDBが有効になりません。 ローカル環境 phpMyAdmin - 2.11.4 MySQL クライアントのバージョン: 5.0.51a ストレートエンジンをMyISAMで開発を行っていましたが、 innoDBに変更することにしました。 色んなサイトを拝見しましたが、どうも有効になってくれません。 対処した項目を書きます。 (1) my.cnf内のskip-innodbをコメントアウト (2) 数回XAMPPのコントロールパネルからMySQLを再起動 (3) ログファイルib_logfileの確認 <無し>   (ログファイルが生まれていれば、xampp/mysql/data/ ← この中に生まれますよね?) (4) (3)のログファイルがあれば、それを削除しようと思いましたが見つかりませんので、   無視しました。このログファイルは、my.cnf内のinnodb_log_file_size = デフォルト値を   変更した場合、既に生まれているログファイルのサイズと異なっていらば、エラーとなるらしく、   まあ、一度もinnoDBにてテーブルを作成していないので、ログが生まれるはずもなく・・・    一応ケアーしてみました。 いかがでしょうか? これら以外に、innoDBがphpMyadminで有効になってくれない理由がありますでしょうか? かなりハマッてます・・・。お助け下さい。。

    • ベストアンサー
    • MySQL
  • バージョンの違い

    XXAMPを取り入れてローカルでテストし、サーバにあげようと思っています。 XXAMPのPHPのバージョンは5.3.1、MySQLのバージョンは5.1.44です。 そして本番で使うサーバのPHPのバージョンは5.2.11、MySQLのバージョンは5.1.51。 となっていますが、このバージョンの違いで本番サーバに上げた際に起こる不具合などはありますでしょうか? よろしくお願いいたします。

  • エラーが返ってきます

    こんにちは。 サーバー OS: FreeBSD 4.10-RELEASE Apache/1.3.33 (Unix) PHP/4.3.10 phpMyadmin2.6.0 MySQL4 の仕様で本のスクリプトをUPして操作したら以下のようなエラーが返ってきます。 Fatal error: Call to undefined function: assertextension() in /usr/local/lib/php/DB/mysql.php on line 114 本のスクリプトは毎日コミュニケーションズのPHP+MySQL ハーシー著 でセクション65と66のサンプルです。 SQLの方は正しくテーブルを作成しております。 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • 別サーバへのmysql接続に関して

    諸事情によりPHPプログラムで別のサーバにあるmysqlへ接続しようと 試みていますが、うまくいきません。 それぞれのサーバに入っているPHP,apache,mysqlのバージョンは 下記の通りです。 【PHPを動かすサーバ(以降:サーバA)】  Redhat Linux ES 4.0  PHP Version 4.3.9  Apache 2.0.52  mysql(入っていません) 【mysqlが動いているサーバ(以降:サーバB)】  FreeBSD 4.7  PHP Version 4.3.10  Apache 1.3.37  mysql 4.1.11 プログラムは下記のものです。 if(!$conn = mysql_connect(サーバB:3306,ユーザー名,パスワード)){  die('MySQL接続失敗'); } if(!$sts = mysql_select_db(データベース名,$conn)){  die('テーブル選択失敗'); } サーバBで同一のプログラムを 起動した場合はもちろん問題なく繋がります。 サーバAでは「MySQL接続失敗」となってしまいます。 どのような設定を行えば、サーバAからサーバBのmysqlへ接続可能に なるのか、よろしくご教授の程、お願いいたします。

    • 締切済み
    • PHP
  • varcharの文字数について

    MySQL5.0を2つの環境に構築をして、 それぞれPHPからDBアクセスをしています。 そのときにvarcharに登録できる文字数に違いがあり、 原因をしてもなぜ違いがでるか不明でした。 (1)同一マシン内に以下を構築 ・Windows2003Server(IIS) ・PHP5.2.12 ・MySQL5.0 (2)同一マシン内に以下を構築 ・WindowsXP(IIS) ・PHP4.4.2 ・MySQL5.0 があります。 varchar(100)に対して、超過するような文字500文字などを登録しようとすると、 (1)の環境では登録エラーとなり、DB登録できませんでした。 (2)の環境ではDBのサイズまで登録されて、超過分は破棄された状態で、DB登録がされていました。 MySQLの構築方法は同じですが、 呼び出し元のPHP(IIS?)による影響でしょうか?

  • MySQLのストレージエンジンの種類について

    Windows環境でMySQL5.1.36のデータベースを使っています。 phpMyAdminで見るとストレージエンジンの種類が6つあります。 1) MEMORY 2) MyISAM 3) BLACKHOLE 4) MRG_MyISAM 5) CSV 6) ARCHIVE 私はInnoDBを良く使うのですがphpMyAdminではどのように設定するのでしょうか? InnoDBもMySQLのパラメータでバッファを増やすと、MEMORYエンジンと同じように 高速でINSERTのSQLが実行できます。 それを考えると、InnoDBだけ1個エンジンあれば良いと思ってしまうのですが、 なぜphpmyAdminでは6つのストレージエンジンがあるのでしょうか? それぞれの存在意義が知りたいです。

    • ベストアンサー
    • MySQL
  • 文字化けについて

    PHP5 MySQL5 phpMyAdmin の3種でシステム構築を行っていました。 この度新しいPCで環境を設定した所、文字化けが起きてしまいました。 構築した以前のローカル環境と各バージョンや設定は同じはずなのですが、文字化けに悩まされています。 具体的には、MySQLはEUCでPHPはShift_JISにて構築しています。 システムの構造は、Shift_JISをMySQLに挿入する際はEUCに変換して格納しています。 文字化けは、phpMyAdminでは正常にみれるものがシステムをブラウザから確認すると日本語が全て???に文字化けしてしまっています。 そこで、phpMyAdminからDBの文字コードをlatin1にした所、今度はphpMyAdmin上で文字化けし、ブラウザ上からは正常にみえるといった状態です。 数日格闘しているのですがお手上げ状態です。 どなたかアドバイス頂ければ幸いです。

    • 締切済み
    • PHP
  • phpMyAdmin起動のエラーの対処方法について

    phpMyAdminを起動すると お使いになっている PHP の MySQL ライブラリのバージョン 5.0.51a が MySQL サーバのバージョン 5.5.22 と異なります。これは予期しない不具合を起こす可能性があります。 といったエラーメッセージが表示されてしまいます。 Apache 2.4 PHP Version 5.2.17 phpMyAdmin 3.5.0 MySQL Server 5.5 です。 いろいろ調べたのですが、解決策が見つかりませんでした。 ご教示を頂けないでしょうか。お願い致します。

    • ベストアンサー
    • MySQL
  • ローカルマシンにWAMP2.0を入れたあと、WordPressをインストールがうまくいきません

    ローカルマシンにWAMP2.0を入れたあと、WordPressをインストールしたいのですが、インストール時のデータベースの接続でうまくいきません。 レンタルサーバーではWordpressがインストールできましたが、 ローカル環境のWAMPでうまくいかなにのは、何か問題があるのでしょうか? WAMPは正しくインストールできていますので、phpMyAdminは開きます。rootのパスワードなし?でphpMyAdminが開き、またMySQLにも接続できます。 何が悪いのかよくわかりません。 testというデータベースは作成済みです。 wp-config.php /** WordPress のデータベース名 */ define('DB_NAME', 'test'); /** MySQL のユーザー名 */ define('DB_USER', 'root'); /** MySQL のパスワード */ define('DB_PASSWORD', ''); /** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */ define('DB_HOST', 'localhost'); $table_prefix = 'wp_test_';

  • phpMyAdminで操作を受け付けない

    初めての投稿失礼します。 表記のとおり、MySQL(Ver.5.0.22)+phpMyAdminという環境を 作ろうとしているのですが、phpMyAdmin(Ver.2.8.2.4)について ログインまではできるものの、DBの操作を始めユーザの追加等々の 処理を受付てもらえない状態です。 環境:FedoraCore5 Apache2.0.58 ・端末からのコマンドだとDBのCREATE,DROP共に可能だった ・phpMyAdminからDBの作成だけは可能(各DBへの遷移も可能) ・作成したDBにテーブル等を追加しようとすると  「フィールド数が空です」と表示される(入力しているにもかかわらず) ・DB一覧からのDB削除もできない ・「特権」から「ユーザの追加」を選択しても、ボタン押下後は元の  画面に戻る。操作を受け付けないがエラーメッセージは出てこない (ちょうどブラウザをリロードしたように、元の画面へ戻るだけ) ・デフォである「mysql」内の「user」に手動でユーザを追加しようとすると  tbl_replace.phpについてパラメータが見当たらないといわれる  (この際示されるFAQ2.8の内容について、3つ目以外は実行しましたが改善しません) ・ブラウザのクッキーやJavaScriptは有効にしている ・設置場所は「/usr/local/share/phpMyAdmin/」 ・config.inc.phpでの変更箇所は 「$cfg['blowfish_secret'] =」の任意文字列(例として"hogehoge") 「$cfg['Servers'][$i]['auth_type'] = 'config';」をcookieに変更 「$cfg['Servers'][$i]['user'] 」のrootを削除 ・httpd.confには 「Alias /phpmyadmin "/usr/local/share/phpMyAdmin"」を追記 ・Zent Optimizerは最新版をインストール済 ・php-mysql、php-devel、mod_auth_mysqlもインストール済 MySqlよりはphpMyAdminの方に原因があるとは 思うのですが・・・一連の作業をずっとrootでやっていることは 何か関連がありますでしょうか。 ご教授いただければ幸いです。