7

シナリオ:開発のためにローカルでRoR環境を構築します。制作はEngineYard/GitHubで行われます。DBがインポートされていないことを除いて、すべて正常に動作しています。

prodEYサイトから取得した.sqlファイルがあります。次に、MySQLにローカルにインポートする必要があります。私はWorkbenchを使用していますが(これは初めてです)、以下のエラーが発生します。

助けてください?

08:07:43 /home/james/Downloads/Futology.sqlの復元実行中:mysql --defaults-extra-file = "/ tmp / tmpAVeE58 / extraparams.cnf" --host = localhost --user = root --port = 3306 --default-character-set = utf8 --comments <"/home/james/Downloads/Futology.sql" 22行目のエラー1046(3D000):データベースが選択されていません

終了コード1で操作が失敗しました08:07:43/home/james/Downloads/Futology.sqlのインポートが1つのエラーで終了しました

4

6 に答える 6

43

Workbench は、使用するデータベース (スキーマ) を認識していません。

ワークベンチで、データのインポート/復元を使用すると、インポートするファイルを選択した場所のすぐ下に、「インポートするデフォルトのスキーマ」が表示されます。

デフォルトのターゲットスキーマというタイトルのドロップダウンから、使用するデータベース (スキーマ) を選択するだけです。データベース (スキーマ) をまだ持っていない場合は、[新規] ボタンで作成できます。

MySQL は一般にデータベースという用語を使用しているように見えますが、Workbench はスキーマを使用しているため、これは混乱を招きます。これらは、ほとんどの目的で同じことを意味します。MySQLの「スキーマの作成」と「データベースの作成」-違いはありますか

于 2012-11-11T02:49:28.303 に答える
15

Workbenchはあまり使用されていませんが、コマンドラインから実行するのは簡単です。これを見てください(phpMyAdminの手順の下)

あなたが求めているコマンドは次のとおりです。 mysql -u #username# -p #database# < #dump_file#

于 2011-04-26T08:01:11.660 に答える
7

brynn の回答と同様に、SQL ファイルを変更して、次の行を一番上に挿入するだけです。

use yourdatabasename

yourdatabasenameインポートしようとしているデータベースに置き換えます。また、このデータベースは、インポートする前に (空ではありますが) 作成済みである必要があります。

于 2012-10-02T17:52:00.473 に答える
4

これが私のために働いた別のオプションです。次を含む大きな MySQL .sql ダンプをインポートするためにセットアップした VM で MySQL 5.5 を使用しています。create table ステートメント 2)。テーブルに大量のデータを挿入するステートメントを挿入します。MySQL コマンド ライン クライアント プロンプトで次のように入力します。

use yourdatabasename
source d:\yourpath\yourfilename.sql

「ソース」およびその他のコマンドの詳細については、「?」と入力してください。プロンプトで。

于 2012-03-30T13:07:51.330 に答える
2

上記のコマンドラインは正しいです。古いバージョンの MySQL から .sql ファイルをインポートするときに、これを行う必要があることがわかりました。また、インポートを行う前に、.sql ファイル (ファイルの上部) を編集し、作成した空のデータベースと同じデータベース名を設定する必要があることもわかりました。

于 2011-08-09T14:22:47.203 に答える