端末からMySQLでデータベースをインポートするにはどうすればよいですか?


373

mysqlでデータベースをターミナルからインポートするにはどうすればよいですか?

正確な構文が見つかりません。

回答:


761

LinuxまたはWindowsコンソールを使用していると仮定します。

パスワードを要求する:

mysql -u <username> -p <databasename> < <filename.sql>

パスワードを直接入力してください(安全ではありません):

mysql -u <username> -p<PlainPassword> <databasename> < <filename.sql>

例:

mysql -u root -p wp_users < wp_users.sql

mysql -u root -pPassword123 wp_users < wp_users.sql

以下も参照してください。

4.5.1.5。テキストファイルからのSQLステートメントの実行


:Windowsを使用している場合はcd、コマンドを実行する前に、CMD内のMySQL / binディレクトリに(ディレクトリを変更)する必要があります。


139
+1を除き、CLIパラメーターとしてパスワードを渡さないでください。むしろ-pオプションを指定し、プロンプトの後に手動で入力するだけです。
St.Woland 2010

13
シェルで入力する場合、-pとパスワードの間にスペースはありません。
Kethryweryn 2013

8
mysql -uユーザー名-hホスト名-ppasswordデータベース名<端末からのリモートホストのファイル名.sql
Shaik Rilwan

8
すでにmysqlコマンドプロンプト(mysql>)内にいる場合は、単にsource full_path_of_fileと入力します(注:インポート前にUSE DATABASE_NAMEコマンドでデータベースを選択してください)。
Ankit Sharma 2014

3
@Pekka웃、を使用するsourceと、情報メッセージ(「影響を受ける行」)とエラーメッセージが表示されます。しかし、あなたの解決策を使用して、私たちはどのようにしてメッセージを見るの< filename.sqlですか?
Pacerier 2015年

141

Windowsの好ましい方法:

  1. コンソールを開き、インタラクティブMySQLモードを開始します

  2. use <name_of_your_database>;

  3. source <path_of_your_.sql>


2
なぜ私たちは必要ないのですか?ファイル名の後?
Nabeel Khan、2015

6
@NabeelKhan ほとんどの SQLステートメントでは、ステートメント;の最後にaが必要ですが、USEおよびを含むいくつかの例外がありますSOURCE
Simon East

1
これはファイルをパイプするよりも速く実行されるのでしょうか(受け入れられた回答のように)。私の疑いはイエスです。
Simon East

これは、HeidiSQLを介してインポートするよりもはるかに高速です... 20分で3GB!
kmdsax 2016

奇妙な。私が削除し;たとき、sourceコマンドは正常に実行されました。それはそうしなかった前に。
ニコス2017

33

mysql -u <USERNAME> -p <DB NAME> < <dump file path>

-u -ユーザー名

-p -パスワードを要求する

例えば。 mysql -u root -p mydb < /home/db_backup.sql

-pを前に付けてパスワードを指定することもできますが、セキュリティ上の理由から推奨できません。パスワードはコマンド自体に表示され、マスクされません。


2
これが私が探している答えです。"<"これは私が残したサインです。
Pravinraj Venkatachalam 2017年

mydbが存在しない場合、mysqldumpコマンドを実行するときにmydbを動的に作成する方法
अक्षयपरूळेकर

12

var / www / htmlから直接

mysql -u username -p database_name < /path/to/file.sql

mysql内から:

mysql> use db_name;
mysql> source backup-file.sql



6

通常、このコマンドを使用して、000-tableA.sql、001-tableB.sql、002-tableC.sqlという名前のファイルに分割したときにSQLデータをロードします。

for anyvar in *.sql; do <path to your bin>/mysql -u<username> -p<password>  <database name> < $anyvar; done

OSXシェルでうまく動作します。


5

コマンドラインからロードする方法

説明:

  1. 最初にデータベースを作成するか、既存のデータベースを使用します。私の場合、既存のデータベースを使用しています

  2. <name of database> = ClassicModels私の場合は与えることによってデータベースをロードし、演算子<を使用してパスを与えますdatabase = sakila-data.sql

  3. show tablesを実行すると、ご覧のようにテーブルのリストが表示されます。

注:私の場合、同じものを再度ロードしようとしているため、エラー1062発生しました。


5
mysql -u username -ppassword dbname < /path/file-name.sql

mysql -u root -proot product < /home/myPC/Downloads/tbl_product.sql

端末からこれを使用


5

以下のコマンドはubuntu 16.04で動作していますが、他のLinuxプラットフォームで動作しているかどうかはわかりません。

SQLファイルをエクスポート:

$ mysqldump -u [user_name] -p [database_name] < [database_name.sql]  

例:mysqldump -u root -p max_development> max_development.sql

SQLファイルをインポート:

$ mysqldump -u [user_name] -p [database_name] > [file_name.sql]

Example: mysqldump -u root -p max_production < max_development.sql

SQLファイルは同じディレクトリに存在する必要があることに注意してください


5

次にターミナルを開く

 mysql -u root -p

 eg:- mysql -u shabeer -p

その後、データベースを作成します

 mysql> create database "Name";

 eg:- create database INVESTOR;

次に、その新しいデータベース「INVESTOR」を選択します

 mysql> USE INVESTOR;

マシンからSQLファイルのパスを選択します

 mysql> source /home/shabeer/Desktop/new_file.sql;

次に、Enterキーを押して、すべてが実行されたらしばらく待ちます。

 mysql> exit

ここに画像の説明を入力してください


4
  1. MySQLコマンドラインクライアントを開き、パスワードを入力します

  2. .sqlファイルデータのインポートに使用するデータベースに変更します。これを行うには、次のように入力します。

    USE your_database_name
  3. 次に、実行する.sqlファイルを見つけます。
    ファイルがメインのローカルC:ドライブディレクトリにあり、.sqlスクリプトファイル名がのcurrentSqlTable.sql場合、次のように入力します。

    \. C:\currentSqlTable.sql

    を押しEnterてSQLスクリプトファイルを実行します。


7
図1/2/3とは?
glglgl 2013

4

しばらく苦労した後、私はhttps://tommcfarlin.com/importing-a-large-database/に情報を見つけました

  1. Mysqlに接続します(ユーザー名とパスワードの両方にrootを使用しましょう):

    mysql -uroot -proot
  2. データベースに接続します(これはemptyDatabaseと呼ばれているとしましょう(確認メッセージが表示されるはずです):

    connect emptyDatabase

3ソースコードをインポートします。ファイルがmySource.sqlで、myUserというユーザーのプロファイルの下にあるmySoureDbというフォルダーにあるとします。

source /Users/myUser/mySourceDB/mySource.sql

3

mysqlのウェブサイトからsakila-dbを使用している場合、Linuxプラットフォームでは、以下の手順に従うだけで非常に簡単です。sakila-dbの zipファイルをダウンロードした後、それを抽出します。これで2つのファイルが作成されます。1つはsakila-schema.sqlで、もう1つはsakila-data.sqlです。


  1. オープンターミナル
  2. コマンドmysql -u root -p <sakila-schema.sqlを入力します
  3. コマンドmysql -u root -p <sakila-data.sqlを入力します
  4. 次に、コマンドmysql -u root -pを入力してパスワードを入力します。これで、デフォルトのデータベースを使用してmysqlシステムに入力できました。
  5. sakilaデータベースを使用するには、次のコマンドを使用します 使用します。
  6. sakila-dbのテーブルを表示するには、show tablesを使用します コマンドを

解凍されたファイルがホームディレクトリにあることに注意してください。


2

Ubuntuでは、MySQLモニターから、次の構文をすでに使用しています。

mysql> use <dbname> -> USEステートメントはMySQLにdbname後続のステートメントのデフォルトデータベースとして使用するように指示します

mysql> source <file-path>

mysql> use phonebook;

mysql> source /tmp/phonebook.sql;

重要:SQLファイルが、mysql / tmpのようにアクセスできるディレクトリにあることを確認してください


1

端末でコマンドを実行する前に、端末にMySQLがインストールされていることを確認する必要があります。

次のコマンドを使用してインストールできます。

sudo apt-get update
sudo apt-get install mysql-server

ここに屈折。

その後、次のコマンドを使用してデータベースをインポートできます。

mysql -u <username> -p <databasename> < <filename.sql>

1

ターミナルからMYSQLにデータベースをインポートする最も簡単な方法は、以下のプロセスによって行われます-

mysql -u root -p root database_name < path to your .sql file

上記で私がしていることは:

  1. 私のユーザー名とパスワードを使用してmysqlに入力します(ここではroot&ですroot
  2. パスワードを入力した後、.sqlファイルをインポートするデータベースの名前を指定します。データベースがMYSQLにすでに存在することを確認してください
  3. データベース名の後には<.sqlファイルへのパスが続きます。たとえば、ファイルがデスクトップに保存されている場合、パスは次のようになります/home/Desktop/db.sql

それでおしまい。これをすべて完了したら、Enterキーを押し、.sqlファイルがそれぞれのデータベースにアップロードされるのを待ちます。


0

-pとパスワードの間にスペースを入れないでください

mysql -u [dbusername] -p[dbpassword] [databasename] < /home/serverusername/public_html/restore_db/database_file.sql

私はいつもそれを使います、それは完全に働きます。この質問をしていただきありがとうございます。すてきな一日を。Njoy :)


また、共有サーバー、専用サーバー、クラウドサーバーのcronジョブ(スケジュールタスク)でこの設定を行って、データベースを時々自動的にリセットまたはインポートすることもできます。
Kamlesh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.