MySQL Workbenchを使用して.sqlファイルをインポートしようとすると、次のエラーが発生します。
ERROR 1046 (3D000) at line 28: No database selected
最初に、.sqlファイルと同じ名前で呼び出される空のデータベースを作成しましたが、機能しません。私はまた、mysqlコマンドクライアントを使用してそれを実行しようとしました:
mysqldump -u root database > file.sql
しかし、それは私のSQL構文にエラーがあると言います。さらに、file.sqlを設定する必要があるパスがわかりません。
ジュルゲンdの answer はもちろん正しいです。ただし、エラーメッセージを考慮して、次のように最初の行でSQLファイルに追加することもできます。
USE your_database_name;
これでジョブが実行され、ワークベンチでインポートできるようになります。
mysqldump
を使用している場合、エクスポートされたファイルは現在のフォルダーに保存されます。それがどのパスであるかは問題ではありません。コマンドラインからインポートする場合は、同じフォルダーにいるか、ファイルへのパスを指定する必要があります。ただし、Workbenchなどのビジュアルツールを使用している場合は、フォルダーツリーからファイルを選択する必要がありますが、これは当てはまりません。
書き出す:
mysqldump -u username –-password=your_password database_name > file.sql
インポート:
mysql -u username –-password=your_password database_name < file.sql
既に接続されているユーザーとして.sqlファイルをデータベースにインポートすることもできます。
mysql> use your_database_name;
mysql> source file.sql;
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
コマンドにパスワードがありません。以下を使用してください。
mysql --u [username] --password=[password] [database name] < [dump file]
Windowsの場合、MySQLサーバーのインストールディレクトリ(例:C:\Program Files\MySQL\MySQL Server 5.5
)のmy.ini file
で、サーバーセクションの[mysqld]
の下に次の行を追加します。
max_allowed_packet = 16M
変更を保存します。 (保存が許可されていない場合は、コピーしてデスクトップに貼り付け、再度編集してから、同じ場所に貼り付けます。)
その後、MySQLサーバーを再起動します。