MySQLにSQLファイルをインポートする


190

というデータベースがありますnitm。ここにはテーブルを作成していません。しかし、データベースに必要なすべてのデータを含むSQLファイルがあります。ファイルはにnitm.sqlありますC:\ drive。このファイルのサイズは約103 MBです。Wampサーバーを使用しています。

MySQLコンソールで次の構文を使用してファイルをインポートしました。

mysql>c:/nitm.sql;

しかし、これはうまくいきませんでした。



回答:


406

mysqlコンソールから:

mysql> use DATABASE_NAME;

mysql> source path/to/file.sql;


相対パスを参照している場合は、パスの前にスラッシュがないことを確認してください...それを理解するのにしばらく時間がかかりました!笑


36
相対参照を行う場合は、パスの前にスラッシュは必要ありません。ルートから移動する場合、つまり、/home/user/file.sql
ウェス・ジョンソン


4
Chromeではブックマークと呼ばれ、アドレスバーの星をクリックするだけです;)
Andrew

2
@ArseniuszŁozickiが質問を追加すると、回答に到達できるようになります:)それが私がすることです。
マンザ2014年

2
これをpath/to/file.sqlmysql クライアントが存在するローカルファイルシステムのパスであることをこの回答に追加するだけです。MySQLサーバーがパスをサーバー側にあると期待する場合がありますSELECT ... INTO OUTFILE。IEはファイルをMySQLサーバーのパスにドロップします。
Devy

90

最後に、私は問題を解決しました。「mysql」フォルダーの「bin」ファイルに「nitm.sql」ファイルを配置し、次の構文を使用しました。

C:\wamp\bin\mysql\mysql5.0.51b\bin>mysql -u root nitm < nitm.sql

そして、これはうまくいきました。


8
これは、OPが要求したようにmysqlコンソールからではなく、コンソールからmysqlにあります。Robert Anthony Tribianaからの回答は、mysqlコンソールからそれを行う方法を説明しています。
halfpastfour.am 2014年

これは問題を解決する正確な方法ではなく、解決策ではありません。
Ashish Ratan 2015年

4
これは、これに答えたOPだったことを知っていますか?
ウェス

mysqlにパスワードが必要な場合、メソッドは機能しません。@ d -_- bのトップアンサーが必要です
shellbye

52

wampを使用している場合は、これを試すことができます。use your_Database_name最初に入力するだけです。

  1. Wampサーバーのアイコンをクリックし、探してMYSQL > MSQL Console実行します。

  2. パスワードがない場合は、Enterキーを押して次のように入力します。

    mysql> use database_name;
    mysql> source location_of_your_file;

    パスワードをお持ちの場合は、パスワードの入力を求められます。最初にパスワードを入力してから、次のように入力します。

    mysql> use database_name;
    mysql> source location_of_your_file;

location_of_your_file のように見えるはずです C:\mydb.sql

したがって、表彰はmysql> source C:\ mydb.sqlです。

この種のインポートSQLダンプは、BIG SQL FILEに非常に役立ちます。

ファイルmydb.sqをディレクトリにコピーしましたC:。実行するには大文字のC:である必要があります

以上です。


1
この回答はWAMP固有のようですが、表示されているコードは、ターミナルまたはコンソールを介してMySQLにアクセスできるMySQLを実行している任意の環境で機能します。
halfpastfour.am 2014年

26

Windowsでは、上記の提案でエラー(ファイルが見つからない、または不明なdb)が発生する場合は、スラッシュを2倍にすることをお勧めします。

mysqlコンソールで:

mysql> use DATABASE_NAME;

mysql> source C://path//to//file.sql;

1
Windowsマシンでは、スラッシュ1つでうまくいきました。
Manoj Shrestha 2016年

17

OK、私はLinuxを使用していますが、これはWindowsにも当てはまると思います。これは、コマンドプロンプトから直接実行できます。

> mysql -u <user name> -p<password> <database name> < sqlfilename.sql

または、mysqlプロンプト内から、次を使用できます。

mysql>source sqlfilename.sql

しかし、これらの両方のアプローチには、表示する結果に独自の利点があります。最初のアプローチでは、スクリプトはエラーが発生するとすぐに終了します。そして、より良い部分は、エラーが発生したソースファイルの正確な行番号を通知することです。ただし、エラーのみが表示されます。エラーが発生しなかった場合、スクリプトはNOTHINGを表示します。少し不安になります。コマンドの山全体でスクリプトを実行していることが最も多いからです。

2番目の方法(mysqlプロンプトから)には、スクリプト内のすべての異なるMySQLコマンドのメッセージを表示するという利点があります。エラーが発生すると、mysqlエラーメッセージが表示されますが、スクリプトは続行されます。スクリプトを再実行する前に戻ってすべてのエラーを修正できるため、これは良いことです。欠点は、エラーが発生したスクリプトの行番号が表示されないことです。これは少し面倒なことです。ただし、エラーメッセージは説明的なものであるため、おそらく問題の場所がわかります。

私は、一例として、OSから直接コマンドラインでアプローチすることを好みます。



7

ほぼ使用しています

mysql> \. c:/nitm.sql;

次の方法でヘルプにアクセスすることもできます

mysql> \?

1
これはうまくいきませんでした。mysql> \を使用した場合。c:/nitm.sql; 、Failed to open file 'c:\ nitm.sql;'、error:2
kushalbhaktajoshi

これのバリエーションを試しましたか?一部のアプリケーションはC:\ nitm.sqlを尊重します
Lmwangi

また、末尾のセミコロンは不要であることにも注意してください。だからそれを削除します。別のオプションは「cd c:」で、「\。nitm.sql」を試してください
Lmwangi

1
入力する前に考えてください。'cd c:'は、mySqlコンソールではなく、DOSプロンプトのコマンドです。
kushalbhaktajoshi

1
mysql> \. ~/Downloads/backups/file.sql mysql>内で完全に機能し、端末からのcoosal回答も機能しました。
gmuhammad 2012

6

XAMPPのlocalhostの場合。コマンドウィンドウを開き、次のように入力します。

cd C:\xampp\mysql\bin
mysql.exe -u root -p

注意!-pの後のセミコロンなし パスワードを入力して入力

use database_name;

必要なデータベースを選択します。

あなたのテーブルがそこにあるかどうかを確認してください

show tables;

SQLファイルからインポートする

source sqlfile.sql;

SQLファイルの場所と混同しないように、ファイルをC:\ xampp \ mysql \ binの場所に配置しました。



3

使用することを忘れないでください

charset utf8

SQLファイルがutf-8にある場合:)

だからあなたはする必要があります:

cmd.exe

mysql -uルート

mysql>文字セットutf8

mysql> mydbnameを使用

mysql>ソースC:\ myfolder \ myfile.sql

幸運を ))


3

Linuxでは、mysqlを起動する前に.sqlファイルを含むディレクトリに移動しました。これで、システムカーソルはファイルと同じ場所にあり、パスは必要ありません。ソースmyData.sqlを使用します。私の日付はファイルの名前に置き換えます。

cd whatever directory

mysql - p

targetDBを接続する

source myData.sql

できた


2

コマンドライン(mysqlシェル内からではなく、cmd.exe)から次のようなことを試してください:

type c:/nite.sql | mysql -uuser -ppassword dbname

データベースのパスワードを作成していないので、パスワードフィールドは空白です。そして、私はこのように上記の構文を使用しましたc:/nitm.sql | mysql -u root -p nitmですが、これも機能しませんでした。これでもう少し助けてもらえますか?
kushalbhaktajoshi 2011年

-pを省略しても機能しませんでした。これは「c:」のようなエラーをスローし、内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
kushalbhaktajoshi 2011年

2

ダンプには、MySQLのバージョンでサポートされていない機能が含まれていますか?また、開始(および終了)MySQLコメント付きSETステートメントを削除することもできます。

あなたのダンプがMySQLのLinuxバージョン(行末)からのものかどうか知りませんか?


mysqlコメント付きのSETステートメントはすでに削除されています。しかし、それでもエラーは発生します。
kushalbhaktajoshi 2011年

MySQLコマンドシェルにログインして、「then c:\ nite.sql」というステートメントを使用できます。正しいデータベースを選択することを忘れないでください。
マイケル

本当にありがとうございました。ありがとう。
kushalbhaktajoshi 2011年

2

WampサーバーをD:ドライブにインストールしたので、urコマンドラインから次のパスに移動する必要があります->(そして、c:ドライブにur wampをインストールした場合は、d:wtih c:を置き換えます)

D:\>cd wamp
D:\wamp>cd bin
D:\wamp\bin>cd mysql
D:\wamp\bin\mysql>cd mysql5.5.8 (whatever ur verserion will be displayed here use keyboard Tab button)
D:\wamp\bin\mysql\mysql5.5.8>cd bin
D:\wamp\bin\mysql\mysql5.5.8\bin>mysql -u root -p password db_name < "d:\backupfile.sql"

ここでrootは私のphpmyadminのユーザーpasswordはphpmyadminの パスワードなので、その場所で何もタイプしないでrootのパスワードを設定していない場合、 db_nameはデータベースです(データベースはバックアップをとります)、backupfile.sqlはデータベースからのバックアップが必要なファイル。バックアップファイルの場所(d:\ backupfile.sql)をコンピューター上の他の場所に変更することもできます。


1
mysql>c:/nitm.sql;

これにより、mysqlコマンドの出力が「nitm.sql;」に書き込まれます。(「;」とはどういうことですか?)(上書きする前に)元のファイルのコピーがあると仮定します。

mysql < c:/nitm.sql

これも機能しませんでした。ERROR 1064 <42000>のようなエラーが発生しました:SQL構文にエラーがあります。MySqlサーバーのバージョンに対応するマニュアルで、「mysql <c:/nitm.sql」の1行目付近で使用する正しい構文を確認します
kushalbhaktajoshi

1

特定のデータベースのエクスポート

 djimi:> mysqldump --user=root --host=localhost --port=3306 --password=test -B CCR KIT >ccr_kit_local.sql

これにより、CCRおよびKITデータベースがエクスポートされます...

エクスポートされたすべてのDBを特定のMysqlインスタンスにインポートする(ダンプファイルがある場所にいる必要があります)

djimi:> mysql --user=root --host=localhost --port=3306 --password=test < ccr_kit_local.sql

0

Windows OSでは、次のコマンドを使用できます。

mysql>Use <DatabaseName>
mysql>SOURCE C:/data/ScriptFile.sql;

ファイル名を一重引用符または二重引用符で囲みません。パスには「\」ではなく「/」が含まれます。


0

あなたがSOで見つけることができるすべての可能な答えを試してこれを成し遂げることに苦労しているそれらのために。Windows 2012 R2を実行しているVPSで私のために働いたものは次のとおりです。

  1. binがある場所にSQLファイルを配置します。 C:\Program Files\MySQL\MySQL Server 8.0\bin

  2. Windowsコマンドプロンプト(cmd)を開く

  3. 走る C:\Program Files\MySQL\MySQL Server 8.0\bin > mysql -u [username] -p
  4. パスワードを入力してください
  5. コマンドを実行 use [database_name]
  6. コマンドソースを使用してファイルをインポートする C://Program Files//MySQL//MySQL Server 8.0//bin//mydatabasename.sql

他のすべてが失敗したので、それは私のためにそれをしました。それもあなたを助けるかもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.