MySQLに.sqlファイルをインポートする方法は?


39

MySQL Workbenchを使用して.sqlファイルをインポートしようとすると、次のエラーが表示されます。

ERROR 1046 (3D000) at line 28: No database selected

最初に.sqlファイルと同じ名前で呼び出される空のデータベースを作成しましたが、機能しません。また、次を使用してmysqlコマンドクライアントで実行しようとしました。

mysqldump -u root database > file.sql 

しかし、それは私のSQL構文にエラーがあると言います。さらに、file.sqlを設定する必要があるパスがわかりません。


以下のmysql> use mydatabaseを使用してmysqldumpをインポートできました。mysql> source sql_file.sql;
ギリダランヴェヌゴパル

回答:


49

輸出する:

mysqldump -u username –-password=your_password database_name > file.sql

インポート:

mysql -u username –-password=your_password database_name < file.sql 

9
ないように持っている何の間のスペース-ppassword
tombom

パスワードを持っていない場合はどうなりますか?

次に、パスワードパラメータをスキップします。
カジミエラスアリウリス

パイピング(mysqldump db -uuser -ppass|mysql new_db -uuser -ppass)により、中間ファイルを使用する必要がなくなります。
Pacerier

2
これが機能するためには、データベースがMySQLに存在している必要があります。
ヌメノン

28

データベースに既に接続されているユーザーとして.sqlファイルをインポートすることもできます。

mysql> use your_database_name;

mysql> source file.sql;

3
ソースD:/path/file.sql; 素晴らしい作品!バックスラッシュではなく、フロントスラッシュを覚えておいてください。
イムダッド

6

source <filename>動作しないときにダンプファイルをインポートする別の方法は、次のことです。

ダンプ

~> mysqldump --user=<user> --password=<password> <db_name> > <export_file_name>.sql

インポート

> mysql -u <user> -p <pass> <db_name>
mysql> USE <db_name>;  (if you didn't already select)
mysql> \. ~/<export_file_name>.sql

5

juergen dの答えはもちろん正しいです。ただし、エラーメッセージを考慮して、次のようにSQLファイルの先頭行に追加することもできます。

USE your_database_name;

これによりジョブが実行され、ワー​​クベンチでインポートできるようになります。

を使用しているmysqldump場合、エクスポートされたファイルは現在のフォルダーに保存されます。それがどのパスであるかは問題ではありません。コマンドラインからインポートするときは、同じフォルダーにいるか、ファイルへのパスを指定する必要があります。ただし、Workbenchなどのビジュアルツールを使用している場合は、フォルダーツリーからファイルを選択する必要があります。


2

コマンドにパスワードがありません。以下を使用してください。

mysql --u [username] --password=[password] [database name] < [dump file]

1

Windowsの場合、MySQLサーバーのインストールディレクトリ(例C:\Program Files\MySQL\MySQL Server 5.5)で、サーバーセクションのmy.ini file[mysqld]に次の行を追加します。

max_allowed_packet = 16M

そして、変更を保存します。(保存が許可されていない場合は、デスクトップにコピーして貼り付け、再度編集してから、同じ場所に貼り付けます。)

その後、MySQLサーバーを再起動します。

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