HOME>情報備忘録>[PHP]ファイルサイズが大きいSQLファイルをインポートしたい

[PHP]ファイルサイズが大きいSQLファイルをインポートしたい

phpMyAdminのインポートでアップロードエラーになった場合の対処。

php.ini

php.iniを編集できる恵まれた環境であればこれの「upload_max_filesize」と「memory_limit」と「post_max_size」を
変更することで大きなファイルサイズのSQLファイルをアップロード、実行できる。

/etc/php.ini

  1. ; Maximum allowed size for uploaded files.
  2. ; http://php.net/upload-max-filesize
  3. upload_max_filesize = 5120M
  4.  
  5. ; Maximum amount of memory a script may consume (128MB)
  6. ; http://php.net/memory-limit
  7. memory_limit = 1024M
  8.  
  9. ; Maximum size of POST data that PHP will accept.
  10. ; Its value may be 0 to disable the limit. It is ignored if POST data reading
  11. ; is disabled through enable_post_data_reading.
  12. ; http://php.net/post-max-size
  13. post_max_size = 5120M

phpMyAdminにはアップロード済のファイルを実行する機能もあるので、そこにアップロードして実行するのもあり。
ただしファイルの置く場所はあらかじめ決められているので変更する場合は

/etc/phpMyAdmin/config.inc.php

  1. <?php
  2. $cfg['UploadDir'] = '/var/lib/phpMyAdmin/upload';
  3. ?>

を変更する。

シェル

sshが利用できる環境であれば、SQLファイルをFTPとかでアップロードしてシェルから実行できる。

bash

  1. $ mysql -u [user] -p [database] < ./upload.sql
  2. Enter password:

HTTP

sshが利用できない場合、HTTP経由でphpにアクセスして実行。

import.php

  1. <?php
  2. exec('mysql --user=[user] --password=[password] [database] < ./upload.sql', $output);
  3. var_dump($output);
  4. ?>

こんな感じのphpファイルとSQLファイルをドキュメントルート以下に設置してブラウザでアクセス。

処理実行後、速やかにファイルは削除する。

投稿日 2018年11月 4日 04:04
カテゴリ 設定
タグ Linux | PHP | phpMyAdmin
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1794

関連ページ(1)

情報備忘録2018年11月 4日 04:17

[phpMyAdmin]インポートファイルがでかすぎてエラーの時

phpでファイルアップロード時にエラーが出る場合、php.iniの「upload_max_filesize」と「memory_limit」と「post_m...

コメント

コメントする
Name
Email Address
URL