Programing

SQL Server 데이터베이스를 MySQL로 내보내는 방법은 무엇입니까?

lottogame 2020. 10. 6. 07:42
반응형

SQL Server 데이터베이스를 MySQL로 내보내는 방법은 무엇입니까? [복제]


이 질문에 이미 답변이 있습니다.

SQL Server 데이터베이스 백업 파일 ( .bak)에서 MySQL 로 변환하려고합니다 . 이 질문 과 답변은 매우 유용했으며 데이터베이스를 성공적으로 가져 왔지만 이제는 MySQL로 내보내기가 중단되었습니다.

의 MySQL 마이그레이션 툴킷은 제안하지만, 대체 된 것으로 보인다되었다 MySQL의 워크 벤치 . MySQL Workbench를 사용하여 마이그레이션 도구가 작동 한 것과 동일한 방식으로 SQL Server에서 마이그레이션 할 수 있습니까?

아니면 마이그레이션 툴킷을 여전히 어딘가에서 사용할 수 있습니까?


적은 시간과 노력으로 데이터와 애플리케이션을 Microsoft SQL Server에서 MySQL로 빠르게 마이그레이션하는 방법을 제공하는 MySQL Workbench사용할 수 있습니다 .

이 도구에는 다음과 같은 멋진 기능이 많이 있습니다.

  • 데이터베이스 마이그레이션 -Microsoft SQL Server, Sybase ASE 및 PostgreSQL에서 마이그레이션 할 수 있습니다.
  • 마이그레이션 프로젝트 관리 -마이그레이션을 구성, 복사, 편집, 실행 및 예약 할 수 있습니다.

http://www.mysql.com/products/workbench/migrate/ 자세히 알아보기


sqlyog사용 하여 mssql에서 mysql로 ​​마이그레이션합니다. 나는 시도 마이그레이션 툴킷 및 워크 벤치 의뿐만 좋아 SQLyog에를 SJA . 가져 오기 프로세스를 예약하고 WHERE 절을 사용하여 증분 가져 오기를 수행 할 수 있습니다.

여기에 이미지 설명 입력


PhpMyAdmin에는 MSSQL 파일 유형도 가져올 수있는 가져 오기 마법사가 있습니다.

지원하는 DB 스크립트 유형은 http://dev.mysql.com/doc/refman/5.1/en/sql-mode.html참조 하십시오 .


위에서 언급했듯이 데이터에 탭 문자, 쉼표 또는 줄 바꿈이 포함 된 경우 CSV로 내보내고 가져 오기가 매우 어렵습니다. 값이 필드 밖으로 오버플로되고 오류가 발생합니다. 긴 필드에 개행 문자가있는 여러 줄 텍스트가 포함 된 경우이 문제는 더욱 악화됩니다.

이 경우 내 방법은 BCP 명령 줄 유틸리티를 사용하여 SQL 서버에서 데이터를 내 보낸 다음 MySQL에서 LOAD DATA INFILE .. INTO TABLE 명령을 사용하여 데이터 파일을 다시 읽는 것입니다. BCP는 가장 오래된 SQL Server 중 하나입니다. 명령 줄 유틸리티 (SQL 서버-v6.5의 탄생으로 거슬러 올라감)는 여전히 존재하며 여전히 데이터를 가져 오는 가장 쉽고 안정적인 방법 중 하나입니다.

이 기술을 사용하려면 MySQL에서 동일하거나 동등한 스키마를 사용하여 각 대상 테이블을 만들어야합니다. SQL 엔터프라이즈 관리자에서 데이터베이스를 마우스 오른쪽 단추로 클릭 한 다음 작업-> 스크립트 생성 ...을 클릭하여 모든 테이블에 대한 SQL 스크립트를 만듭니다. 그런 다음 스크립트를 수동으로 MySQL 호환 SQL로 변환하고 (확실히 작업의 최악의 부분) 마지막으로 MySQL 데이터베이스에서 CREATE TABLE 명령을 실행하여 SQL 서버 버전과 일치하는 테이블을 열 단위로 비어 있고 준비 할 수 있도록해야합니다. 데이터.

그런 다음 다음과 같이 MS-SQL 측에서 데이터를 내 보냅니다.

bcp DatabaseName..TableName out TableName.dat -q -c -T -S ServerName -r \0 -t !\t!

(SQL Server Express를 사용하는 경우 -S 값을 다음과 같이 사용하십시오. -S "ComputerName \ SQLExpress")

그러면 필드가! [tab]!로 구분 된 TableName.dat라는 파일이 생성됩니다. \ 0 NUL 문자로 구분 된 행.

이제 .dat 파일을 MySQL 서버의 / tmp에 복사하고 다음과 같이 MySQL 측에서로드합니다.

LOAD DATA INFILE '/tmp/TableName.dat' INTO TABLE TableName FIELDS TERMINATED BY '!\t!' LINES TERMINATED BY '\0';

테이블 (이 예에서는 TableName)이 이미 MySQL 측에 생성되어 있어야한다는 것을 잊지 마십시오.

이 절차는 SQL 스키마를 변환 할 때 매우 수동적이지만 가장 어려운 데이터에서도 작동하며 플랫 파일을 사용하기 때문에 SQL Server가 MySQL과 통신하도록 설득 할 필요가 없으며 그 반대의 경우도 마찬가지입니다.


MSSQL 호환 SQL 덤프가있는 경우이 온라인 도구를 사용하여 하나씩 MySQL 쿼리로 변환 할 수 있습니다.

http://burrist.com/mstomy.php

시간이 절약되기를 바랍니다.


Data Loader 도구 를 사용하여 쉽게 수행 할 수 있습니다 . 이 도구를 사용하기 전에 이미이 작업을 수행했으며 좋은 결과를 얻었습니다.


올바른 것 같습니다. 마이그레이션 툴킷이 MySQL Workbench와 통합 될 예정이지만 아직 완료되지 않은 것 같습니다. MySQL GUI 도구 (마이그레이션 툴킷 포함)에 대한 단종 발표를 참조하십시오.

http://www.mysql.com/support/eol-notice.html

MySQL은 MySQL GUI 도구 패키지의 아카이브를 유지합니다.

http://dev.mysql.com/downloads/gui-tools/5.0.html


MySQL 마이그레이션 도구 키트의 고급 탭에서 아래 연결 문자열을 사용하여 SQL Server 2008 인스턴스에 연결했습니다.

jdbc:jtds:sqlserver://"sql_server_ip_address":1433/<db_name>;Instance=<sqlserver_instanceName>;user=sa;password=PASSWORD;namedPipe=true;charset=utf-8;domain= 

일반적으로 매개 변수에는 "systemName \ instanceName"이 있습니다. 그러나 위의 경우 "systemName \"을 추가하지 마십시오 (InstanceName 만 사용).

instanceName이 무엇인지 확인하려면 services.msc로 이동하여 MSSQL 인스턴스의 DisplayName을 확인하십시오. MSSQL $ instanceName과 유사합니다.

Hope this help in MSSQL connectivity from mysql migration toolKit.


MySQL Migration Toolkit (1.1.10) still available for download from here:

http://downloads.mysql.com/archives.php?p=MySQLDeveloperSuite&v=1.1.10


downloads are no more available on the official website (http://dev.mysql.com/downloads/gui-tools/5.0.html) instead, take a look here: http://download.softagency.net/MySQL/Downloads/MySQLGUITools/


I had some data I had to get from mssql into mysql, had difficulty finding a solution. So what I did in the end (a bit of a long winded way to do it, but as a last resort it works) was:

  • Open the mssql database in sql server management studio express (I used 2005)
  • Open each table in turn and
  • Click the top left corner box to select whole table:

  • Copy data to clipboard (ctrl + v)

  • Open ms excel
  • 클립 보드에서 데이터 붙여 넣기
  • Excel 파일을 .csv로 저장
  • 각 테이블에 대해 위를 반복하십시오.
  • 이제 데이터를 mysql로 ​​가져올 수 있습니다.

도움이 되었기를 바랍니다

참고 URL : https://stackoverflow.com/questions/3917081/how-to-export-sql-server-database-to-mysql

반응형