開く - mysql 外部ファイル 実行




MySQLでコマンドラインを使用してSQLファイルをインポートする方法は? (20)

データベースのインポート

  1. ドライブに移動:

    command: d:
    
  2. MySQLログイン

    command: c:\xampp\mysql\bin\mysql -u root -p
    
  3. それはpwdを求めます。 それを入力してください:

    pwd
    
  4. データベースを選択

    use DbName;
    
  5. ファイル名を指定する

    \.DbName.sql
    

私はphpMyAdminからのエクスポートを持つ.sqlファイルを持っています。 私はコマンドラインを使ってそれを別のサーバにインポートしたいと思う。

私はWindows Server 2008 R2をインストールしています。 私はCドライブに .sqlファイルを置いて、私はこのコマンドを試した

database_name < file.sql

それは私が構文エラーを取得していない動作しています。

  • このファイルを問題なくインポートするにはどうすればよいですか?
  • まずデータベースを作成する必要がありますか?

  1. MySQLコマンドラインを開く
  2. mysqlのbinディレクトリのパスを入力し、Enterキーを押します。
  3. SQLファイルをmysqlサーバのbinフォルダに貼り付けます。
  4. MySQLでデータベースを作成します。
  5. SQLファイルをインポートする特定のデータベースを使用します。
  6. source databasefilename.sqlEnterを入力し source databasefilename.sql
  7. あなたのSQLファイルは正常にアップロードされます。

MySQLを持っているディレクトリに移動します。

 c:\mysql\bin\> mysql -u username -p password database_name <
 filename.sql

また、すべてのデータベースをダンプするには、 -all-databasesオプションを使用し-all-databases 。データベースの名前を指定する必要はありません。

mysqldump -u username -ppassword –all-databases > dump.sql

あるいは、SQLyogのようなGUIクライアントを使ってこれを行うこともできます。


MySQL実行可能ファイルがあるディレクトリに移動します。 -uはユーザー名、 -pはパスワードの入力を求める:

C:\xampp\mysql\bin>mysql -u username -ppassword databasename < C:\file.sql

mysqldump一般的な使い方は、データベース全体をバックアップすることです。

shell> mysqldump db_name > backup-file.sql

ダンプ・ファイルを次のようにサーバーにロードすることができます。

UNIX

shell> mysql db_name < backup-file.sql

Windowsのコマンドプロンプトでも同じです。

mysql -p -u [user] [database] < backup-file.sql

パワーシェル

C:\> cmd.exe /c "mysql -u root -p db_name < backup-file.sql"

MySQLのコマンドライン

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

https://.com/a/17666285/1888983同様
私にとっての主な違い:

  1. データベースが最初に存在しなければならない
  2. -pとパスワードの間にスペースを入れない
shell> mysql -u root -ppassword #note: no space between -p and password
mysql> CREATE DATABASE databasename;
mysql> using databasename;
mysql> source /path/to/backup.sql

Fedora 26をMariaDBで実行する


このコマンドを使用して、コマンドラインからSQLをインポートすることができます。

mysql -u username -p password db_name < file.sql

たとえば、ユーザー名がrootでパスワードがpassword 。 また、データベース名はbank 、SQLファイルはbank.sqlです。 次に、単に次のようにします。

mysql -u root -p password bank < bank.sql

SQLファイルがどこにあるかを覚えておいてください SQLファイルがDesktopフォルダ/ディレクトリにある場合は、デスクトップディレクトリに移動して次のようなコマンドを入力します。

~ ? cd Desktop
~/Desktop ? mysql -u root -p password bank < bank.sql

あなたがProjectディレクトリにあり、SQLファイルがDesktopディレクトリにある場合。 Projectディレクトリからアクセスする場合は、次のようにします。

~/Project ? mysql -u root -p password bank < ~/Desktop/bank.sql

すでにデータベースを使用している場合は、 dumpファイルまたはsqlファイルをインポートするには、次のsql使用します。

mysql -u username -p database_name < file.sql

MySQLで関連するデータベース(空)を作成する必要がない場合は、ターミナルまたはcmdで次のコマンドを実行してMySQLコンソールに最初にログオンします

mysql -u userName -p;

プロンプトが表示されたらパスワードを入力します。

次に、データベースを作成して使用する

mysql>create database yourDatabaseName;
mysql>use yourDatabaseName;

次に、 sqlファイルまたはdumpファイルをデータベースにインポートします。

mysql> source pathToYourSQLFile;

注意:端末がdumpまたはsqlファイルが存在する場所にない場合は、上記の相対パスを使用してください。


コマンドラインで資格情報を提供することは良い考えではありません。 上記の回答は素晴らしいですが、言及を無視して

mysql --defaults-extra-file=etc/myhost.cnf database_name < file.sql

ここで、etc / myhost.cnfはホスト、ユーザー、パスワードを含むファイルで、コマンドラインでパスワードを公開しないようにします。 ここにサンプルがありますが、

[client]
host=hostname.domainname
user=dbusername
password=dbpassword

データベースをSQLファイルにダンプするには、次のコマンドを使用します

mysqldump -u username -p database_name > database_name.sql

SQLファイルをデータベースにインポートするには(SQLファイルと同じディレクトリにあることを確認するか、ファイルの絶対パスを指定する)

mysql u -username -p database_name < database_name.sql

一度に複数のSQLファイルをインポートするには、次のようにします。

# Unix-based solution
for i in *.sql;do mysql -u root -pPassword DataBase < $i;done

単純なインポートの場合:

# Unix-based solution
mysql -u root -pPassword DataBase < data.sql

WAMP

#mysqlVersion replace with your own version
C:\wamp\bin\mysql\mysqlVersion\bin\mysql.exe -u root -pPassword DataBase < data.sql

XAMPPの場合:

C:\xampp\mysql\bin\mysql -u root -pPassword DataBase < data.sql

単一のデータベースをインポートするには、次のコマンドを使用します。

mysql -u username -p password dbname < dump.sql

複数のデータベース・ダンプをインポートするには、次のコマンドを使用します。

mysql -u username -p password < dump.sql

巨大なファイルのインポートに要する時間については、MySQLのデフォルト設定がautocommit = trueであるため、もっと重要なことautocommit = true 。 ファイルをインポートする前にそれを設定し、インポートがどのように宝石のように機能するかを確認する必要があります。

あなたは次のことをするだけです:

mysql> use db_name;

mysql> SET autocommit=0 ; source the_sql_file.sql ; COMMIT ;

次のコマンドは、 WAMP Windows 7のコマンドライン(cmd)から私のために働きます。

d:/wamp/bin/mysql/mysql5.6.17/bin/mysql.exe -u root -p db_name < database.sql

私のために働いた解決策は以下の通りです:

Use your_database_name;
SOURCE path_to_db_sql_file_on_your_local;

私はPowershell 5でWindows 10を使用しています。私はほとんどすべての "UNIXのような"ソリューションが私のために働いていないことがわかりました。

> mysql -u[username] [database-name] < my-database.sql
At line:1 char:31
+ mysql -u[username] [database-name] < my-database.sql
+                               ~
The '<' operator is reserved for future use.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : RedirectionNotSupported

私はこのコマンドを使用して終了します。

> type my-database.sql | mysql -u[username] -h[localhost] -p [database-name]

それは完璧に動作し、うまくいけば助けます。

@ のanswer btwに感謝します。


私はちょうどデフォルトのルート+ withoutpasswordを持っていた情報については、上記のすべての答えで動作しませんでした。

  • すべての特権とパスワードを持つ新しいユーザーを作成しました。 できます。

  • -Password WITHOUT SPACE。


私はデータベースが作成されていない問題に取り組んでいました。

私はこれを固定した

mysql -u root -e "CREATE DATABASE db_name"
mysql db_name --force < import_script.sql

試してください:

mysql -u username -p database_name < file.sql

MySQLオプションをチェックしてください。

注1: SQLファイルfile.sqlパスを使用する方がよい。

注2:元のデータベースのルーチンとトリガを保持するには、 -R--triggersを使用します。 デフォルトではコピーされません。


mysql --user=[user] --password=[password] [database] < news_ml_all.sql




import