mysql에서 데이터 내보내기 및 가져오기. 데이터베이스 내보내기(PHPMyAdmin)

로컬 서버에서 호스팅으로 사이트를 이전할 때 필수 절차 중 하나는 데이터베이스(데이터베이스) 내보내기/가져오기입니다. 따라서 이 기사에서는 로컬 서버, 즉 웹 인터페이스에서 데이터베이스를 내보내고 가져오는 과정을 최대한 자세히 설명하려고 합니다. PHPMyAdmin호스팅용 버전 3.2.3.

가장 먼저 할 일은 로컬 서버(이 경우 Denwer)를 시작하는 것입니다. Denwer를 시작한 후 브라우저를 열고 브라우저 행에 "http://localhost/tools/phpmyadmin"을 작성해야 합니다.(그림 1)이전에 생성된 데이터베이스.

그림 1

다음으로 내보낼 데이터베이스를 선택해야 합니다. 제 경우에는 Mybd라는 데이터베이스입니다. 데이터베이스는 브라우저 창의 왼쪽에 있는 데이터베이스를 클릭하여 선택할 수 있습니다. "데이터베이스를 선택하십시오"(그림 2).


그림 2

필요한 데이터베이스를 선택하면 데이터베이스 구조의 창이 열립니다. 상위 메뉴에 항목이 있습니다. 내보내다이를 사용하여 데이터베이스를 컴퓨터로 내보내고 호스팅으로 가져옵니다. 따라서 "내보내기"항목으로 이동하십시오. (그림 3).


그림 3

열리는 창에서 몇 가지 측정을 해야 합니다. (그림 4), 즉: "내보내기" 블록에서 항목을 클릭하여 데이터베이스의 모든 테이블을 선택해야 합니다. "모두 선택"옆에 있는 확인란을 선택하고 SQL, 이 항목은 내보낼 파일 유형을 담당합니다. 또한 옆에 있는 확인란을 선택합니다. 파일로 저장, 데이터베이스가 파일에 저장되도록 합니다. 나머지 설정은 변경할 필요 없이 버튼만 누르면 됩니다. 가다.

그림4

이제 모든 작업을 올바르게 수행했다면 데이터베이스 파일이 컴퓨터에 다운로드되어야 합니다. 이 파일을 사용하여 데이터베이스를 호스팅으로 가져옵니다.

또한 파일 인코딩을 BOM 없이 UTF-8로 변경해야 합니다. 인코딩을 변경하려면 텍스트 편집기를 사용합니다. 메모장++(다운로드) . 이 프로그램을 사용하여 데이터베이스 파일을 열고 메뉴에서 "부호화"선택하다 "BOM 없이 UTF-8로 변환"(그림 5), 저장하고 닫습니다.


그림 5

이 절차에는 한 데이터베이스(A)에서 다른 데이터베이스(B)로 데이터를 전송하는 작업이 포함됩니다. 일반적으로 데이터베이스 B는 호스팅(또는 Denver)되고 데이터베이스 A는 사용자 컴퓨터에 있으며 확장자가 sql인 파일입니다. 데이터베이스 A에는 Dump라는 다른 이름이 있습니다.

데이터베이스를 가져오는 방법은 무엇입니까?

SSH를 사용하여 MySQL 데이터베이스 가져오기

이 방법은 거의 사용되지 않지만 설명하겠습니다. 먼저, 사이트 파일이 저장되는 호스팅 공급자의 서버로 가져올 데이터베이스를 입력합니다. 다음 명령은 데이터베이스를 가져오는 데 사용됩니다.

mysql -uUSERNAME -pUSERPASSWORD DB 이름< DUMPFILENAME.sql

mysql --user=USERNAME --password=USERPASSWORD DBNAME< DUMPFILENAME.sql

대문자로 작성된 단어 대신 다음을 대체합니다.
USERNAME - 데이터베이스 사용자 이름(예: uhosting_databaseuser)

USERPASSWORD - 데이터베이스 사용자 암호(예: Rjkweuik12).

DBNAME - 가져올 데이터베이스의 이름(예: uhosting_databasename)

DUMPFILENAME - 데이터를 가져올 덤프 파일의 이름입니다. 여기에서 호스팅 공급자의 서버에 업로드한 데이터베이스의 경로도 지정해야 합니다.

대부분의 사이트에서 데이터베이스(또는 줄여서 DB)는 수십 Mb(메가바이트)에 해당하는 크기(가중치)를 갖습니다. 여러 프로젝트를 시작할 때 데이터베이스의 초기 크기는 사이트 자체(CMS)의 구조에 따라 다르지만, 그 무게는 새 항목이 있을 때마다 증가합니다.

기록은 사이트 데이터베이스에 저장된 사용자 등록 정보, 댓글, 개인 메시지, 제품, 뉴스 및 기타 데이터일 수 있습니다.

나는 데이터베이스 크기가 500MB(메가바이트)를 초과하고 일부는 2GB(기가바이트)에 달하는 여러 사이트에서 작업할 기회가 있었습니다. 이 크기의 데이터베이스는 호스팅 및 브라우저 제한으로 인해 표준 방법을 사용하여 전송하기 어렵기 때문에 이러한 작업(대용량 데이터베이스 마이그레이션)을 해결하는 데 도움이 되는 몇 가지 작업 방법을 공유하겠습니다.

Sypex Dumper를 통해 대용량 MySQL 데이터베이스 내보내기(다운로드)

따라서 더 쉬운 옵션, 즉 기성품 솔루션으로 작업 세트를 해결하는 것에 대한 고려부터 시작하겠습니다.

"Sypex Dumper"는 PHP로 작성된 소프트웨어 제품으로 phpMyAdmin을 사용하지 않고도 데이터베이스 작업이 가능합니다. "Sypex Dumper"의 이점은 다음과 같습니다.

  1. 다국어(다국어 지원).
  2. 스크립트의 무료 버전이 있습니다(이것은 우리 작업에 충분합니다).
  3. 작업 실행 속도가 빠릅니다.
  4. 대규모 데이터베이스 작업.
  5. 편리하고 명확한 인터페이스.
  6. 그리고 다른 많은 흥미로운 "칩".

우리는 그것들을 사용하여 대용량 데이터베이스를 다운로드(전송)할 것입니다.

추가 사용을 위해 특정 사이트의 데이터베이스를 내보내려면(가져오기, 다운로드) 다음을 수행해야 합니다.

1. 우리 웹 사이트에서 무료입니다.

2. sxd당신에게 편리한 방법으로.

3. 다음으로 이동 (어디 your_site.com 안으로».

4. 열리는 페이지에서(승인 성공) 섹션을 한 번 클릭하십시오. " 내보내다» 상단 메뉴에서. 사용자가 여러 데이터베이스를 사용할 수 있는 경우 드롭다운 목록에서 내보낼(다운로드) 데이터베이스를 선택합니다. 나머지 설정은 변경하지 않고 " 운영».


나는 참고하고 싶다전체 데이터베이스를 내보낼 수 없고 필요한 경우 일부 테이블만 내보낼 수 있습니다.

5. 데이터베이스 저장 프로세스가 끝나면(진행 표시줄로 이해할 수 있음) 해당 버튼을 클릭하여 필요한 데이터베이스를 다운로드할 수 있습니다.


또한 내보낸 모든 데이터베이스는 도중에 사이트에 저장됩니다. /sxd/백업/. 데이터베이스 저장에 실패하면 폴더가 지원쓰기 권한은 777입니다.

이것으로 데이터베이스 내보내기(다운로드)가 완료됩니다.

Sypex Dumper를 통해 대용량 MySQL 데이터베이스 가져오기(로드)

위에서 필요한 데이터베이스를 얻는 방법에 대해 논의했으며 이제 다른 프로젝트로 전송(가져오기)해야 하며 이를 위해 다음을 수행합니다.

1. 우리 웹 사이트에서 무료입니다.

2. 아카이브의 압축을 풀고 폴더를 사이트에 업로드합니다. sxd당신에게 편리한 방법으로.

3. 폴더로 /sxd/백업/이전에 얻은(다운로드한) 데이터베이스를 로드합니다.

4. 다음으로 이동 http://your_site.ru/sxd/index.php(어디 your_site.com– 사이트의 도메인), 그 후에 데이터 입력 양식이 열립니다. 그 안에 필요한 데이터베이스를 관리할 수 있는 권한이 있는 사용자의 데이터를 지정하고 " 안으로».

5. 열리는 페이지에서(승인 성공) 섹션을 한 번 클릭하십시오. " 수입» 상단 메뉴에서. 사용자가 여러 데이터베이스를 사용할 수 있는 경우 드롭다운 목록에서 데이터를 가져올(로드) 데이터베이스를 선택합니다. 나머지 설정은 변경하지 않고 " 운영».


나는 참고하고 싶다전체 데이터베이스가 아니라 필요한 경우 일부 테이블만 가져올 수 있습니다.

6. 데이터베이스 가져오기(로드) 프로세스가 종료된 후(진행률 표시줄로 이해할 수 있음) 작업이 완료된 것으로 간주할 수 있습니다.


SSH 터미널을 통해 대용량 MySQL 데이터베이스 내보내기(다운로드)

SSH는 시스템이나 서버를 원격으로(특수 명령을 통해) 관리할 수 있는 네트워크 프로토콜입니다. Windows에는 이 프로토콜을 사용하기 위한 많은 프로그램이 있으며 가장 널리 사용되는 프로그램은 PuTTY입니다.

예를 들어 일부 호스팅에는 제어판에 터미널이 내장되어 있습니다. 우리는 멀리 가지 않고 그의 예를 사용하여 제목에 설명된 작업을 고려하지 않을 것입니다. 주목할 가치가 있습니다아래에 설명된 작업은 별도의 SSH 클라이언트에서도 수행할 수 있습니다.

1. 터미널을 시작합니다. 그것에는 다음과 같이 보입니다.


2. 타사 프로그램을 통해 서버에 연결하는 경우 적절한 데이터를 입력하여 서버에 로그인합니다(호스팅 제어판 또는 호스팅 제공업체에서 얻을 수 있음).

- 이것은:

mysqldump -u 사용자 이름 -p 데이터베이스 > 백업.sql

직접 내보냅니다. 여기서:

사용자 이름– 데이터베이스에 대한 액세스 권한이 있는 사용자의 로그인.

데이터 베이스– 내보내려는 데이터베이스의 이름입니다.

백업.sql– 데이터베이스가 저장될 파일의 ​​이름과 . 이 디자인을 사용하면 데이터베이스가 호스팅 루트에 저장됩니다.

4. 세 번째 단계에서입력하다"키보드에. 노트

서버가 SSH를 통해 명령을 다시 수락할 준비가 되면 데이터베이스 내보내기가 완료되고 FTP 또는 호스팅 파일 관리자를 통해 다운로드할 수 있음을 의미합니다.

SSH로 내보내기(및 가져오기) 프로세스는 브로드캐스트되지 않으며 데이터베이스가 상당히 큰 경우 20분 이상 후에 서버에서 응답을 받을 수 있으므로 인내심을 가지십시오.

SSH 터미널을 통해 대용량 MySQL 데이터베이스 가져오기(업로드)

SSH가 무엇인지는 위에서 이미 알아냈고 이제 이전에 다운로드한 데이터베이스를 다른 프로젝트로 가져오는 방법을 고려하기 시작합니다.

1. 당신의 뿌리에서호스팅, 이전에 다운로드한 데이터베이스를 편리한 방법으로 다운로드하십시오.

2. SSH를 통해 호스팅/서버에 연결합니다.

그래서 우리는 확실히 호스팅 루트로 이동합니다. - 이것은:

따라서 현재 디렉토리에 있는 파일 및 디렉토리의 전체 목록을 얻습니다. 이전에 로드한 데이터베이스를 포함하려고 합니다.

4. 모든 것이 정상이고 베이스가 제자리에 있으면 최종 명령을 입력합니다.

mysql -u 사용자 이름 -p 데이터베이스< backup.sql

사용자 이름– 데이터베이스에 대한 액세스 권한이 있는 사용자의 로그인.

데이터 베이스– 데이터를 가져올 데이터베이스의 이름.

백업.sql- 로드할 파일의 이름 및 에 대한 상대 경로. 이 디자인을 사용하면 호스팅 루트에서 데이터베이스를 가져옵니다.

5. 명령을 입력한 후 지정한 사용자의 암호를 입력하라는 메시지가 표시됩니다. 네 번째 단계에서. 비밀번호를 입력하고 " 입력하다"키보드에. 노트 SSH 터미널의 비밀번호 항목이 표시되지 않는다는 것, 즉 비밀번호를 입력하거나 붙여넣는 것입니다. 그 자리에는 항상 빈 공간이 있습니다.

그 후 서버가 다시 SSH를 통해 명령을 수락할 준비가 되면 데이터베이스 가져오기가 완료되고 프로젝트 작업을 계속할 수 있음을 의미합니다.

대용량 MySQL 데이터베이스를 서버로 가져오는 방법에 대해 자주 질문을 받습니다. 기본적으로 phpMyAdmin은 가져온 데이터베이스의 크기에 제한이 있는 것으로 알려져 있습니다.

덤프가 허용 한도를 많이 초과하지 않으면 여러 부분으로 분할하고 여러 단계로 가져올 수 있습니다. 예를 들어, 제한이 2Mb이고 데이터베이스 크기가 5-10Mb인 경우 정당화됩니다. 100MB 데이터베이스를 50개 부분으로 "절단"하는 것은 시간 자원 측면에서 다소 시간 소모적이고 비용이 많이 드는 프로세스임이 분명합니다.

이 문제를 해결하기 위한 몇 가지 옵션이 있습니다.

웹 서버 구성 편집

VDS/VPS에서는 특별한 문제가 없으며 구성을 수정하기만 하면 됩니다. 즉, php.ini에서 서버에 업로드된 파일의 허용 가능한 최대값, POST 방식으로 전송되는 파일의 최대 크기를 늘리십시오.

Post_max_size = 2000M 업로드_max_filesize = 2000M

또한 데이터베이스가 매우 큰 경우 허용되는 최대 스크립트 실행 시간을 늘려야 합니다.

max_execution_time = 32000 max_input_time = 32000

그리고 만일을 대비하여 허용 가능한 RAM 크기를 늘릴 수 있습니다.

memory_limit = 512M

변경한 후에는 웹 서버를 다시 시작해야 합니다.

이 방법은 가상 호스팅에 적합하지 않다는 것이 분명합니다. 구성을 편집하는 기능을 의미하지는 않습니다.

사이펙스 덤퍼

타사 소프트웨어를 사용할 수 있습니다. 주목할만한 첫 번째 응용 프로그램은 Sypex Dumper입니다.

몇 년 전에 처음으로 사용하고 모든 기능과 장점을 높이 평가했기 때문에 "Must Have"라는 레이블을 안전하게 붙일 수 있습니다. Sypex Dumper는 설치가 필요 없는 PHP 서버 응용 프로그램입니다. 예를 들어, sxd 디렉토리에 있는 사이트의 루트에 복사하고 브라우저에서 호출하면 충분합니다. http://Your_Site/sxd/. 먼저 백업 디렉토리에 데이터베이스 덤프를 배치해야 한다는 점은 주목할 가치가 있습니다. 스크립트가 초기화되면 데이터베이스 연결을 위한 인증 패널이 표시됩니다. 로그인과 비밀번호를 입력하세요. 호스트와 포트는 특정한 경우에만 선택 사항입니다.

권한 부여 후 데이터베이스 가져오기로 바로 이동할 수 있습니다. 현장에서 "데이터 베이스"연결된 데이터베이스가 선택되고 필드에서 "파일"이전에 백업 디렉토리에 업로드한 덤프가 표시됩니다.

대부분의 경우 더 이상 추가 설정이 필요하지 않으며 "실행" 버튼을 클릭하여 가져오기를 안전하게 시작할 수 있습니다. 가져오기는 데이터베이스의 크기와 인터넷 연결 속도에 따라 다소 시간이 걸릴 수 있습니다. 가져오는 동안 현재 데이터베이스로 가져오는 테이블을 볼 수 있습니다. 스크립트가 완료되면 실행 로그가 표시됩니다. 다음과 같이 보입니다.

사실 이것이 전부입니다. 데이터베이스를 가져왔습니다!

콘솔

콘솔을 통한 가져오기는 고려되지 않습니다. 나 없이 콘솔을 사용하는 사람들은 데이터베이스를 가져오는 방법을 알고 있다고 생각합니다. 그리고 특별한 교육을 받지 않은 일반 사용자의 경우에는 간섭하지 않는 것이 좋습니다. 일부 명령의 실행은 완전한 서버 충돌에 이르는 심각한 결과를 초래할 수 있습니다.

드디어

Sydex Dumper가 유일하고 올바른 솔루션이라고 말할 수는 없습니다. 사용자에게 서버 설정에 대한 특정 지식과 적절한 액세스 권한이 있어야 하는 더 우아한 방법이 있습니다.

그러나 공유 호스팅 환경에서 Sydex Dumper는 확실히 없어서는 안될 조수가 될 것입니다.

내 전보를 구독하고 사이트에없는 것을 포함하여 새로운 자료를 가장 먼저 받으십시오.

웹 사이트를 처음 만들 때 일반적으로 로컬 서버에서 합니다. 준비가 되면 원격 서버로 이동해야 합니다. 파일 복사는 쉽습니다. 방법은 다음과 같습니다. 데이터베이스 가져오기원격 서버에? 그것에 대해 phpmyadmin에서 데이터베이스를 가져오는 방법이 기사에서 설명하겠습니다.

많은 방법이 있습니다 데이터베이스 가져오기그러나 내 의견으로는 가장 간단하고 내가 직접 사용하는 것을 가장 많이 말할 것입니다.

1 단계

우선, 당신이 필요 데이터베이스 내보내기현재 위치(특히 로컬 서버)에서. 우리의 목표는 SQL 쿼리우리의 데이터베이스. 이렇게 하려면 다음을 수행하십시오.

2 단계

두 번째이자 마지막 단계는 실행하는 것입니다. SQL 쿼리당신이 복사한 PHPMyAdmin, 필요한 서버에 있습니다. 데이터베이스 가져오기. 이렇게 하려면 다음 단계를 따르세요.

결과적으로 모든 레코드가 있는 모든 테이블이 새 서버에 생성됩니다.

과정은 보시다시피 PHPMyAdmin에서 데이터베이스 내보내기 및 가져오기최소화하므로 문제가 없을 것입니다.

마지막으로 한 가지만 더 조언을 드리고 싶습니다. 사실은 매우 자주 당신이 필요로하는 상황이 있다는 것입니다. 전체 데이터베이스가 아닌 가져오기, 예를 들어 하나의 테이블만 있습니다. 그러면 원칙은 완전히 동일합니다. 내보낼 때만 데이터베이스뿐만 아니라 내보낼 테이블도 선택해야 합니다. 그런 다음 다시 상단 메뉴에서 " 내보내다". 그러면 모든 것이 동일합니다. 데이터베이스 가져오기.

공유하다