web-dev-qa-db-ja.com

phpMyAdmin:巨大なデータベースファイルをインポートできない、提案はありますか?

最近、新しいコンピューターを手に入れたので、すべてのWebプロジェクトを移行すると思いました。ファイルの移動は簡単でしたが、データベースの移動は少し難しいようです。 phpMyAdminを使用してすべてのデータベースをエクスポートし、localhost.sqlに保存しました。次に、phpMyAdminを使用して新しいコンピューターにインポートしようとすると、エラーが発生します。

No data to import. Either no filename was sent or the filesize exceeded the maximum allowed size. See FAQ 1.16. (This was translated from Swedish)

アドバイスされているように、よくある質問を見てみました。そして、彼らはBigDumpと呼ばれるツールに言及しました。だから私はそれをダウンロードし、それを実行するために必要な設定を見た後、私はそれを使うことができないことに気づいた。どうして?特定のデータベースへの接続が必要だからです。一度に多くのデータベースをインポートしようとしています。したがって、そこには成功しません。

また、PHPのupload_max_filesize(およびFAQに記載されている他のファイルサイズ)を999のような値に設定しようとしました。何らかの理由で動作しないようです。再度実行する前に、すべてのサービスを再起動しました。

古いコンピューターでXAMPPを使用し、新しいコンピューターでWAMPに切り替えたことに言及する必要があります。しかし、それは問題ではないでしょう?両方の「パッケージ」がphpMyAdminとApacheを使用しているため。

この悪夢を回避する方法に関する提案はありますか?

20
qwerty

HowTo

"php.ini" "php.exe"is)。

次の例では、128MBのSQLファイルをアップロードおよびインポートできます。

post_max_size=128M
upload_max_filesize=128M

Apacheを再起動すると、準備は完了です。

代替案

問題を回避する別の方法は、コマンドラインを使用することです。しかし、それは回避策であり、回避策と同じくらいugいです:

C:\xampp\mysql\mysql.exe -u root -p db_name < C:\some_path\your_sql_file.sql

サーバーではなくコマンドラインを使用しているため、アップロードとPOSTサイズは関係ありません。だからこそ、これを "回避策"と呼びます。 、それはあなたの問題を実際には解決しないからです。

52
user1093284

他の人は常にphp.iniファイルを再構成しようとしていますが、私にとっては、MYSQLコンソールを使用することがベストプラクティスだと思います。

MYSQLコンソールのステップバイステップガイドは次のとおりです。

MYSQLコンソールを開き、実行します。

タイプ:

mysql> use database_name;

mysql> source location_of_your_file;

location_of_your_fileはC:\ mydb.sqlのようになります

so コマンドはmysql> source C:\ mydb.sql;

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

ファイルmydb.sqlをディレクトリCにコピーしました:.実行するには大文字のC:である必要があります mysqlエラーまたは構文エラーが表示されるため

沼サーバー内:

  1. パス「C:\ wamp\apps\phpmyadmin」のconfig.inc.phpファイルを開き、この行を設定/追加します。 $ cfg ['UploadDir'] = 'アップロード';
  2. すべてのサービスを再起動します
  3. Phpmyadmin(C:\ wamp\apps\phpmyadmin4.0.4\upload)フォルダー内にアップロードフォルダーを作成し、アップロードフォルダーに.sqlファイルを配置します。
  4. ブラウザでphpmyadminを開き、インポートに進みます。アップロードディレクトリのフォルダーとファイルのある参照ボタンのすぐ下のドロップダウンにファイルが表示されます。
  5. それを選択して…
9
user3509697

xampp\php\php.iniを変更します

見つける:

post_max_size       = 8M
upload_max_filesize = 2M
max_execution_time  = 30
max_input_time      = 60
memory_limit        = 8M

への変更:

post_max_size       = 750M
upload_max_filesize = 750M
max_execution_time  = 5000
max_input_time      = 5000
memory_limit        = 1000M
7
Ramya

コマンドラインからインポートできます-mysql < databasedump.sql(OSに依存)。

3
awm
3
Sarwar Erfan

この手順に従って巨大なデータベースをダンプします:

1)phpスクリプトをダウンロードBigDump.phpから http://www.ozerov.de/bigdump/

2)プロジェクト内のbigdump.phpおよびdatabasedump.sqlを移動しますフォルダー(htdocsまたはwww)。

3)bigdump.phpファイルを開き、以下のセクションを編集します。

$db_server   = 'localhost';
$db_name     = '';
$db_username = '';
$db_password = ''; 

$filename           = '.sql';  

4)ブラウザでbigdump.phpを開き、インポートリンクをクリックします。

1
codemania

My.iniファイルを変更します

[mysqld]セクションに次の行を追加します

wait_timeout=28800
interactive_timeout = 28800
max_allowed_packet=32M

Mysqlを再起動します

dump.sqlファイルを開き、次の行を追加します

use mydbname

Mysqlフォルダーに移動して、このコマンドを実行します

mysql -u root -h localhost < dump.sql
1
Midhun

私はこれが古いことを知っていますが..私はずっと前にこの問題を思いつきました。コンソールを使用してダンプSQLファイルを実行しました。または、PHPmyAdminの代わりに adminer を使用します。

1
reignsly

これにより、数秒以内に大きなsqlファイルがインポートされます。

e:\xampp\mysql\bin>mysql -u root -h localhost < verybigsqlfile.sql

Phpmyadminを使用して大きなsqlファイルをインポートしないでください。 mysqlをオンラインで使用している場合は、mysqlコンソールにアクセスしてください。

1
K.K.Bindal

sQLファイル(gzip、bzip2、Zipのみ)を圧縮してインポートします。 db csvファイルなどのテストファイルを圧縮すると、ファイルサイズが大幅に削減され(〜11 mb〜2 mb)、phpmyadminインポートエンジンによって圧縮データが削除されます

1
Prasad.CH

Linuxを使用している場合は、ターミナルに移動し、mysqlに接続してデータベースを選択した後、次のように入力します。

\. /path/to/database/database.sql
0

許容サイズを変更しようとしましたが、それで問題は解決しませんでした。

ただし、「ploaddir」というフォルダーがあります。これは、私の場合、次の場所にあります。

EasyPHP\modules\phpmyadmin\uploaddir

SQLファイルをそこに置いて、PHP My Admin。]の[インポート]タブに戻りました。既に[uploaddir]フォルダーにあるファイルをアップロードできるオプションがあります。制限はありません。

WindowsとEasyPHP 12.1を使用しています

0
ecairol

phpmyadminには、ハードドライブからの読み取り機能もあります。ダンプをアップロードして、この機能を使用してください。ただし、可能であればコンソールから強くお勧めします。 phpは最初にファイルを処理する必要がなく、サーバーに直接読み込まれるため、はるかに高速です。

0
Femaref

非常に大規模なデータベースをアップロードしている場合、WebインターフェースはHTTP最大HTTPリクエストサイズに制限されます

PHP.iniアップロード制限を増やす

この行を見つける

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = ??M **<--- change here ....**

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

/sbin/service httpd restart

または、directadminを使用してhttpサービスを再起動します

0
Sudantha

SQLYog を使用して、db操作にプロフェッショナル向けの最良の選択をします。 SQLYogを使用すると、SQLデータベースのnGB {n-> finite_size}をインポートできます。

0
PHP Ferrari

シンプルなソリューションは、GUIベースで使いやすい「MySql Workbench」ソフトウェアをダウンロードしてインストールするだけです。最近、300MBサイズのmysqlデータベースをインポートしました。

0
Mohammad Zeshan