약 12MB의 SQL 파일을 가져오고 싶습니다. 그러나로드하는 동안 문제가 발생합니다. SQL 파일을 분할하지 않고 업로드하는 방법이 있습니까?
약 12MB의 SQL 파일을 가져오고 싶습니다. 그러나로드하는 동안 문제가 발생합니다. SQL 파일을 분할하지 않고 업로드하는 방법이 있습니까?
답변:
OS의 취향에 따라 mysql 콘솔에서 가져 오십시오.
mysql -u {DB-USER-NAME} -p {DB-NAME} < {db.file.sql path}
또는 원격 서버에있는 경우 -h 플래그를 사용하여 호스트를 지정합니다.
mysql -u {DB-USER-NAME} -h {MySQL-SERVER-HOST-NAME} -p {DB-NAME} < {db.file.sql path}
mysql
단 한 번의 마이그레이션을 위해 서버에 설치 하는 것보다 훨씬 쉽습니다 . 도와 주셔서 감사합니다! (또한 대괄호가 필요하지 않았습니다)
해야 할 3 가지 :
에 php.ini
당신의 PHP 설치 (참고 : 조작 할 수있는 권리 php.ini 파일을 찾아, 당신은 CLI, 아파치, 또는 nginx를 위해 그것을 원하는 경우에 따라)
post_max_size=500M
upload_max_filesize=500M
memory_limit=900M
또는 다른 값을 설정합니다.
apache가 설치되어있는 경우 apache를 다시 시작 / 다시로드 하고 nginx를 사용하는 경우 nginx의 경우 php-fpm을 다시로드 합니다.
원격 서버?
max_execution_time
파일을 업로드하는 데 시간이 걸리므로 증가 합니다.
NGINX 설치?
: 당신은 추가해야합니다 client_max_body_size 912M;
에 /etc/nginx/nginx.conf
받는 http{...}
블록
/etc/php/7.1/apache2/php.ini
은 작동하지 않았습니다
phpinfo()
하고 값이 올바르게 설정되었는지 확인하고 서버가 다시 시작되었는지 확인 하십시오
phpmyadmin 디렉토리에있는 config.inc.php 파일을 편집하십시오. 제 경우에는에 있습니다 C:\wamp\apps\phpmyadmin3.2.0.1\config.inc.php
.
$cfg['UploadDir']
그것과 함께 줄을 찾아서 업데이트하십시오.$cfg['UploadDir'] = 'upload';
그런 다음 phpmyadmin 디렉토리 (저는) 내에 'upload'라는 디렉토리를 만듭니다 C:\wamp\apps\phpmyadmin3.2.0.1\upload\
.
그런 다음 가져 오려는 큰 SQL 파일을 새 upload
디렉토리로 배치하십시오. 이제 phpmyadmin 콘솔의 db 가져 오기 페이지로 이동하면 이전에는 없었던 드롭 다운이 표시됩니다. 여기에는 방금 생성 한 업로드 디렉토리의 모든 sql 파일이 포함되어 있습니다. 이제 이것을 선택하고 가져 오기를 시작할 수 있습니다.
Windows에서 WAMP를 사용하지 않는 경우 큰 문제없이이를 사용자 환경에 적용 할 수 있습니다.
참조 : http://daipratt.co.uk/importing-large-files-into-mysql-with-phpmyadmin/comment-page-4/
config.default.php
같은 디렉토리의에서 phpmyadmin 버전 4.6.4를 사용하고 있습니다
libraries/config.default.php
LINUX 사용자를위한 솔루션 (sudo로 실행)
'업로드'및 '저장'디렉토리를 만듭니다.
mkdir /etc/phpmyadmin/upload
mkdir /etc/phpmyadmin/save
chmod a+w /etc/phpmyadmin/upload
chmod a+w /etc/phpmyadmin/save
그런 다음 phpmyadmin의 구성 파일을 편집하십시오.
gedit /etc/phpmyadmin/config.inc.php
마지막으로 'upload'및 'save'디렉토리에 대한 절대 경로를 추가합니다.
$cfg['UploadDir'] = '/etc/phpmyadmin/upload';
$cfg['SaveDir'] = '/etc/phpmyadmin/save';
이제 /etc/phpmyadmin/upload
폴더에 파일을 놓기 만하면 phpmyadmin에서 파일 을 선택할 수 있습니다.
이 도움을 바랍니다.
sudo chmod 777 your-filename.sql
한 줄이면 완료됩니다 (mysql 명령이 전역으로 사용 가능한지 확인하거나 mysql 설치 폴더로 이동하여 bin 폴더에 입력하십시오)
mysql -u database_user_name -p -D database_name < complete_file_path_with_file_name_and_extension
여기
u
사용자를 의미p
암호를 의미합니다.D
Database를 의미합니다.--- <
데이터베이스 이름 뒤에 서명을 추가하는 것을 잊지 마십시오 ---
이름과 확장자가있는 완전한 파일 경로는 다음과 같을 수 있습니다.
c:\folder_name\"folder name"\sql_file.sql
--- 폴더 및 파일 이름에 이중 따옴표를 사용하여 바인딩 된 공간보다 많은 공간이 포함 된 경우 ---
팁 및 참고 : 암호는 나중에 쓸 수 -p
있지만 그 시간에 화면을보고있는 다른 사람에게 표시되므로 권장하지 않습니다. 입력하지 않으면 Enter 키를 눌러 명령을 실행할 때 묻는 메시지가 표시됩니다.
zip 또는 tar 파일을 만들고 phpmyadmin에 업로드하십시오.
.sql
파일에 다음 구성을 사용하여 큰 파일 을 가져올 수있었습니다 httpd.conf
.
Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
AllowOverride AuthConfig
Require all granted
php_admin_value upload_max_filesize 128M
php_admin_value post_max_size 128M
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
</Directory>
php.ini 파일을 편집해야합니다. upload_max_filesize
post_max_size
파일 크기에 맞게 다음 을 변경하십시오 .
phpinfo()
현재 값을 확인하기 위해 실행 중 입니다. php.ini 파일을 직접 변경할 자유가 없다면 ini_set ()을 시도하십시오.
그것도 옵션이 아니라면 bigdump 를 시도해 볼 수 있습니다.
나는 아무도 가장 쉬운 방법을 언급하지 왜 단지로 큰 파일을 분할 .... 이해 해달라고 http://www.rusiczki.net/2007/01/24/sql-dump-file-splitter/ 이후 바로 실행 VIE MySQL의 관리자 Structure가있는 파일부터 분리 된 생성 파일
이를 위해 php.ini
파일 을 편집해야 합니다. 우분투 서버를 사용하는 경우 phpMyAdmin에서 대용량 파일 업로드 링크 가 도움이 될 수 있습니다.
나는 기사를 우연히 발견했고 이것은 나를 위해 가장 잘 작동했습니다.
하드 드라이브»애플리케이션»MAMP»bin»config.inc.php
$cfg[‘UploadDir’]
– 다음과 같이 보일 것입니다 :$cfg['UploadDir'] = '';
$cfg['UploadDir'] = 'upload';
그런 다음 해당 phpmyadmin 디렉토리 내에서 새 폴더를 만들고 이름을 업로드합니다.
가져 오려는 큰 .sql 파일을 가져 와서 새 업로드 폴더에 넣습니다.
이제 다음 번에 phpMyAdmin으로 데이터베이스를 가져 오면 "가져올 파일"섹션의 표준 찾아보기 영역 바로 아래에 새 드롭 다운 필드가 표시됩니다.
좋아 PHPMyAdmin을 사용하지만 때로는 가장 좋은 방법은 터미널을 사용하는 것입니다.
mysql -h localhost -u root -p
(사용자 및 데이터베이스 위치에 대한 루트 및 로컬 호스트 전환)\. /path/to/your/file.sql
그리고 그게 다야. 원격 서버에있는 경우 .sql 파일을 일부 폴더에 업로드해야합니다.
공유 호스팅을 사용하는 사람들을위한 대답입니다. 300MB DB 파일을 서버로 가져 오는 데 사용한이 작은 스크립트를 사용하는 것이 가장 좋습니다. 스크립트는 Big Dump라고합니다.
MAMP에서는 다음과 같이 대용량 파일을로드 할 수 있습니다.
이 디렉토리 / MAMP / bin / phpMyAdmin / "folderName"에 새 폴더 생성
그런 다음 "/MAMP/bin/phpMyAdmin/config.inc.php"줄 531을 편집합니다.
$cfg['UploadDir']= 'folderName';
.sql 또는 .csv 파일을이 폴더에 복사하십시오.
이제 "PhpMyAdmin"에 다른 옵션이 있습니다. 웹 서버 업로드 디렉토리에서 선택 newFolder / : 파일을 선택하고 가져올 수 있습니다.
이제 모든 파일을로드 할 수 있습니다!
큰 파일을 업로드하는 가장 좋은 방법은 phpmyadmin을 사용하지 않습니다. phpmyadin은 처음에 php 업로드 클래스를 사용하여 파일을 업로드 한 다음 대부분의 시간 초과가 발생하는 sql을 실행합니다.
가장 좋은 방법은 wamp folder> bin> mysql> bin dirrectory를 입력 한 다음이 줄을 작성하는 것입니다.
mysql -u root -p listnames <latestdb.sql here listnames는 처음에는 빈 데이터베이스를 생성하고 latestdb.sql은 데이터가있는 SQL 파일 이름입니다.
그러나 중요한 것은 데이터베이스 파일에 유니 코드 데이터가있는 경우입니다. latestdb.sql 파일을 열고 한 줄 앞의 줄을 열어야합니다. 라인은 다음과 같습니다.
이름 설정 utf8; 그런 다음 명령 모드 에서이 스크립트 코드를 실행하십시오.
12MB보다 큰 파일 업로드를 허용하도록 서버 설정을 변경하면 괜찮습니다. 일반적으로 서버 설정은 파일 업로드를 위해 5 ~ 8mb로 설정됩니다.
phpmyadmin에 의해 생성 된 대용량 데이터베이스 덤프를 가져 오도록 설계된 PHP 스크립트를 만들었습니다. PETMI라고하며 여기 [프로젝트 페이지] [gitlab 페이지] 에서 다운로드 할 수 있습니다 . 1GB 데이터베이스로 테스트되었습니다.
mysql workbench
또는 같은 mysql 도구 사용mysql Yog