web-dev-qa-db-ja.com

MySQLのソースコマンドを使用して、Windowsで大きなファイルをインポートする方法

インポートしようとしている大きな(〜150 MB)SQLファイルがあります。 PHPMyAdminを介してそれを多くの部分に分割することもできず、30秒のスクリプト処理後にタイムアウトするため、PHPスクリプトを介してインポートするには大きすぎます。したがって、MySQLコマンドラインからファイルを直接インポートする方法を探しています。

オンラインで検索すると、database_name < file_name.sqlまたはsource file_name.sqlのいずれかを使用したいのですが、どちらも機能しません。

<を使用すると、一般的なMySQL構文エラーが発生しますが、sourceを使用すると、少し有望なfailed to open file 'file_name.sql', error: 2が生成されるため、ソースコマンドが正しい軌道に乗っていると思います。

私はWindowsにいて、ローカルホストサーバーとしてxamppを使用しています(SQLを実行できるように、このファイルをローカルホストにインポートしようとしているだけです)。ファイルをxampp\mysql\binおよびxampp\mysql\data\database_nameに配置しようとしました。

この.sqlファイルをMySQLコマンドラインから、または他の方法でMySQLにインポートする方法の提案は大歓迎です。

49
Daniel Nill

Xamppでは、次のようなコマンドラインでフルパスを使用する必要があると思います。

C:\xampp\mysql\bin\mysql -u {username} -p {databasename} < file_name.sql
54
Femi

Windowsではこれが機能するはずです(スラッシュと、パス全体が引用符で囲まれておらず、スペースが許可されていることに注意してください)

USE yourdb;

SOURCE D:/My Folder with spaces/Folder/filetoimport.sql;

36
Valentin Despa

"source"は使用しないでください。少数のsql queriesを実行して出力を表示するように設計されており、大規模なデータベースをインポートすることはありません。

Wamp DeveloperXAMPPではありません)を使用していますが、同じである必要があります。

あなたがしたいことは、MySQL Clientを使用してあなたのために仕事をすることです。

  1. MySQLが実行されていることを確認してください。
  2. phpMyAdminまたはMySQL Shellを介してデータベースを作成します。
  3. 次に、cmd.exeを実行し、sqlファイルがあるディレクトリに移動します。
  4. 実行:mysql -u root -p database_name_here < dump_file_name_here.sql
  5. database namedump file nameで置き換えます。
  6. プロンプトが表示されたらMySQL root account passwordを入力します(パスワードが設定されていない場合は、「-p」スイッチを削除します)。

これは、mysql.exeが環境パスを介して見つけることができ、sqlファイルが実行元のディレクトリにあることを前提としています。それ以外の場合は、フルパスを使用します。

34
rightstuff

オプション1 Dは私のxamppまたはwamppのインストールフォルダである単一のcmdを使用してこれを行うことができますので、mysql.exeをインストールし、2番目のオプションのデータベース名と最後がsqlファイルであるため、これを使用して次にこれを実行します

D:\xampp\mysql\bin\mysql.exe -u root -p databse_name < D:\yoursqlfile.sql

wamppのオプション1

D:\wamp64\bin\mysql\mysql5.7.14\bin\mysql.exe -u root -p databse_name< D:\yoursqlfile.sql

フォルダーとmysqlバージョンを変更する

オプション2現在のパスがコマンドプロンプトを表示しているとします

C:\Users\shafiq;

cd..を使用してディレクトリを変更し、xamppがインストールされているmysqlディレクトリに移動します。次に、cd..でディレクトリを変更します。次に、binフォルダーに移動します。

C:\xampp\mysql\bin;

C:\xampp\mysql\bin\mysql -u {username} -p {database password}。thenコマンドプロンプトでパスワードを入力するのが表示されたら入力してください。

を使用してデータベースを選択

mysql->use test (where database name test) 

次に、ソースsqlをbinフォルダーに入れます。

最後のコマンドは

mysql-> source test.sql (where test.sql is file name which need to import)

次に、Enterキーを押します

これは完全なコマンドです

C:\Users\shafiq;
C:\xampp\mysql\bin
C:\xampp\mysql\bin\mysql -u {username} -p {database password}
 mysql-> use test
 mysql->source test.sql
11
Shafiqul Islam
C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql

それは私のデータベースに400MBのファイルをインポートするために私のために働いた。

mysql sourceコマンドを使用して、特にWindowsでのリダイレクトエラーを回避します。

mysql [-u <username>] [-p<password>] <databasename> -e "source /path/to/dump.sql"

ここで、「コマンドの実行」の場合はe

Windowsでは、sqlコマンドに二重引用符を使用することを忘れないでください。

ただし、Windowsではバックスラッシュ\またはスラッシュ/のいずれかが機能します。

1
cdarlint

MySQLのコマンドラインを使用して大きなSQLファイルをインポートする場合。

まず、コマンドラインでファイルパスに移動します。次に、

オプション1:

mysql -u {user_name} -p{password} {database_name}  < your_file.sql

警告メッセージが表示されます。コマンドラインインターフェイスでパスワードを使用すると、安全でない可能性があります。

完了。ファイルがインポートされます。

オプション2:

mysql -u {user_name} -p {database_name}  < your_file.sql

この場合、SQLパスワードは提供されず、パスワードを入力するだけでパスワードが要求され、ファイルがインポートされます。

1
Ravindra Patel

パスワードなしのルートとしてのユーザー名

mysql -h localhost -u root databasename < dump.sql

ルートユーザーのパスワードを持っていないため、ローカルホストで問題に直面しました。上記のように-pパスワードなしで使用できます。パスワードを求められたら、Enterキーを押します。

1
Arjun s

Xamppのセットアップでは、次を使用してデータベースをMySQLにインポートできました。

C:\xampp\mysql\bin\mysql -u {username goes here} -p {leave password blank} {database name} < /path/to/file.sql [enter]

ローカルマシンでの個人的な経験は次のとおりです。
ユーザー名: ルート
データベース名: testdatabase
SQLファイルの場所: databasebackup.sqlはデスクトップにあります

C:\xampp\mysql\bin\mysql -u root -p testdatabase < C:\Users\Juan\Desktop\databasebackup.sql 

それは私の1GB +ファイルをデータベースにインポートするのに役立ちました。

1
IamJuanValle

こんにちは私は同じ問題を抱えていましたが、私は多くの異なる状態を試してみました:SOURCEは動作しません;私の場合の最後に:

SOURCE D:\Barname-Narmafzar\computer programming's languages\SQL\MySQL\dataAug-12-2019\dataAug-12-2019.sql;

エラーは:

ERROR: Unknown command '\B'. '>また、住所の引用では機能しませんでした。しかし、それは機能しません。最後に:

SOURCE D:\Barname-Narmafzar\computer programming's languages\SQL\MySQL\dataAug-12-2019\dataAug-12-2019.sql

ただし、USE database_nameを使用することを忘れないでください。それ以前は。 SOURCEまたはUSEまたはHELPはMysql自体のためであり、HELPを記述するときは次のように記述されていますが、これらのクエリコードではないためです。

「すべてのテキストコマンドが最初に行にあり、最後が;であることに注意してください。」.

しかし、ここでは機能しません。

私はCMDでそれをやったと言うべきであり、Mysql Workbenchでそれを試しませんでした。それでした

これが結果です

0
Arash

Windowsの場合:エクスプローラーを使用して、.sqlファイルがあるフォルダーに移動します。上部のアドレスバーに「cmd」と入力します。 Cmdが開きます。タイプ:

"C:\path\to\mysql.exe" -u "your_username" -p "your password" < "name_of_your_sql_file.sql"

少し待つと、データベースでsqlファイルが実行されます。 2018年2月にMariaDBと連携することを確認しました。

0
ffactory