MySQL


MySQL의 (공식적으로 발음 /의 m aɪ ˌ ɛ S K JU ɛ L / "내 SQL", [6] )가있다 오픈 소스 관계형 데이터베이스 관리 시스템 (RDBMS)에. [7] 그 이름은 "My", 공동 설립자 Michael Widenius 의 딸 이름 [8] 과 " Structured Query Language "의 약어 인 " SQL "의 조합 입니다. MySQL의 개발 프로젝트는 만든 소스 코드 의 조건에 따라 사용할 수 GNU 일반 공중 사용 허가서뿐만 아니라 다양한 독점 계약을 맺고 있습니다. MySQL은 소유하고 단일 후원 한 비영리 기업의 스웨덴어 기업 의 MySQL AB 지금 소유, 오라클 . [9] 독점 사용을 위해, 여러 지불 버전을 사용할 수 있습니다 및 추가 기능을 제공합니다.


MySQL은 LAMP 오픈 소스 웹 애플리케이션 소프트웨어 스택 (및 다른 " AMP "스택) 의 핵심 구성 요소입니다 . LAMP는 " Linux , Apache , MySQL, Perl / PHP / Python " 의 머리 글자입니다 . MySQL 데이터베이스를 사용하는 응용 프로그램에는 TYPO3 , MODx , Joomla , WordPress , phpBB , MyBB 및 Drupal이 있습니다. MySQL은 Google [10] [11] (검색은 아닐지라도)을 포함하여 많은 유명하고 대규모 인 웹 사이트 에서도 사용됩니다 .페이스 북 , [12] [13] [14] 트위터 , [15] 플리커 , [16] 그리고 유튜브 . [17]


개요


MySQL은 C 및 C ++로 작성되었습니다 . SQL 구문 분석기는 yacc 로 작성 되었지만 자체 추출 된 어휘 분석기를 사용 합니다. [18] MySQL은 많은 작동 시스템 플랫폼 을 포함하여, AIX , BSDi의 , FreeBSD의 , HP-UX , eComStation , I5 / OS , IRIX , 리눅스 , 맥 OS , 마이크로 소프트 윈도우 , NetBSD의 , 노벨 넷웨어 , 오픈 BSD , 오픈 솔라리스 , OS / 2Warp, QNX , Oracle Solaris , Symbian , SunOS , SCO OpenServer , SCO UnixWare , Sanos 및 Tru64 등이 있습니다. OpenVMS에 대한 MySQL 포트 도 존재합니다. [19]


MySQL 서버 소프트웨어 자체와 클라이언트 라이브러리는 이중 라이센스 배포를 사용합니다. 그들은 GPL 버전 2에서 제공되는 [20] 2000년 6월 28 일부터 시작 [21] (2009 년에 확장 된 FLOSS의 라이센스 예외) [22] 또는 독점 라이센스를 사용합니다. [23]


지원은 공식 매뉴얼에서 얻을 수 있습니다. [24] 무료 IRC 채널과 포럼에서 추가 지원이 가능합니다. 오라클은 MySQL Enterprise 제품을 통해 유료 지원을 제공합니다. 그들은 서비스의 범위와 가격면에서 다릅니다. 또한 MariaDB 및 Percona를 비롯한 여러 가지 타사 조직이 지원 및 서비스를 제공합니다 .


MySQL은 긍정적 인 리뷰를 받았으며 리뷰어는 "평균적인 경우에 매우 잘 수행됩니다."그리고 "개발자 인터페이스가 있으며 문서 (웹 사이트 등을 통해 실제 세계에서의 피드백은 물론) 아주 좋아. " [25] 또한 "빠르고 안정적이고 진정한 다중 사용자, 다중 스레드 SQL 데이터베이스 서버"로 테스트되었습니다. [26]


역사


MySQL은 David Axmark , Allan Larsson 및 Michael "Monty"Widenius가 설립 한 스웨덴 회사 인 MySQL AB 가 만들었습니다 . Widenius와 Axmark에 의한 MySQL의 원래 개발은 1994 년에 시작되었다. [27] MySQL의 첫 번째 버전은 1995 년 5 월 23 일에 등장했다. 처음에는 저급 언어 ISAM을 기반으로 mSQL 에서 개인용으로 제작되었는데, 유연하지 못합니다. 그들은 mSQL 과 동일한 API 를 유지하면서 새로운 SQL 인터페이스를 만들었습니다 . API를 mSQL 시스템과 일관되게 유지함으로써 많은 개발자는 (전적으로 라이센스가 부여 된) mSQL 전례 대신에 MySQL을 사용할 수있었습니다. [[ 표창장은 필요로했다 ][ 반신 반의 - 토론 ]


이정표

MySQL 개발의 추가 이정표 :


1995 년 5 월 23 일 최초의 내부 릴리즈

버전 3.19 : 1996 년 말, www.tcx.se에서

버전 3.20 : 1997 년 1 월

Windows 버전은 Windows 95 및 NT 용으로 1998 년 1 월 8 일에 릴리스되었습니다.

버전 3.21 : www.mysql.com의 프로덕션 릴리스 1998

버전 3.22 : 1998 년부터의 알파, 베타

버전 3.23 : 2000 년 6 월 베타, 2001 년 1 월 22 일 프로덕션 릴리스 [28]

버전 4.0 : 베타 2002 년 8 월, 2003 년 3 월 생산 릴리스 ( 노동 조합 ).

버전 4.01 : 베타 2003 년 8 월부터, 죠티는 [ 명확한 설명이 필요 ] [ 표창장은 필요가 ] 데이터베이스 추적을 위해 MySQL을 채택

버전 4.1 : 2004 년 6 월 베타 버전, 2004 년 10 월 릴리즈 ( R-trees 및 B-tree , 하위 쿼리, prepared statements).

버전 5.0 : 2005 년 3 월의 베타, 2005 년 10 월 프로덕션 릴리스 (커서, 저장 프로 시저, 트리거, 뷰, XA 트랜잭션 )

Federated Storage Engine의 개발자는 "Federated Storage Engine은 개념 증명 (proof-of-concept) 스토리지 엔진입니다." [29] 그러나 MySQL 버전 5.0의 주요 배포판에는 기본 저장소가 포함되어 있습니다. 단점에 대한 문서는 "MySQL 페더 레이 티드 테이블 : 누락 매뉴얼"에 나와 있습니다. [30]

Sun Microsystems 는 2008 년에 MySQL AB를 인수했습니다 .

버전 5.1 : 프로덕션 릴리스 2008 년 11 월 27 일 (이벤트 스케줄러, 분할 , 플러그인 API, 행 기반 복제, 서버 로그 테이블)

버전 5.1에는 버전 5.0에있는 35 개에 추가 된 20 개의 알려진 크래시 및 잘못된 결과 버그 (거의 모든 것이 릴리스 5.1.51에서 수정 됨)가 포함되어 있습니다. [32]

MySQL 5.1 및 6.0-alpha는  단일 쿼리 처리를 위해 여러 CPU 코어를 사용할 수 없기 때문에 데이터웨어 하우징에 사용할 때 성능이 좋지 않았습니다 . [33]

오라클은 2010 년 1 월 27 일 Sun Microsystems를 인수했습니다. [34] [35] [36]

오라클은 썬 인수를 발표 한 마이클 "Monty"Widenius가 MySQL을 포크 에 넣고 MariaDB를 출시 하고 MySQL 개발자들과 함께했습니다. [37]

MySQL Server 5.5는 일반적으로 사용 가능했습니다 (2010 년 12 월 현재 ). 향상된 기능 및 기능은 다음과 같습니다.

디폴트의 ​​스토리지 엔진은 트랜잭션과 참조 무결성 제약 조건을 지원하는 InnoDB이다.

개선 된 InnoDB I / O 서브 시스템 [38]

개선 된 SMP 지원 [39]

반자동 복제.

SQL 표준을 준수하는 SIGNAL 및 RESIGNAL 문

보완 유니 코드 문자 세트 utf16, utf32 및 utf8mb4 지원.

사용자 정의 파티셔닝을위한 새로운 옵션.

MySQL Server 6.0.11-alpha는 2009 년 5 월 22 일에 6.0 라인의 마지막 릴리스 로 발표되었습니다 [40] . 미래의 MySQL 서버 개발은 새로운 릴리스 모델을 사용합니다. 6.0 용으로 개발 된 기능은 향후 릴리스에 통합됩니다.

MySQL 5.6의 일반적인 가용성은 2013 년 2 월에 발표되었습니다. 새로운 기능으로는 쿼리 최적화 프로그램의 성능 향상 , InnoDB의 높은 트랜잭션 처리량, 새로운 NoSQL 스타일의 memcached API, 초대형 테이블 쿼리 및 관리를위한 파티셔닝 개선, TIMESTAMP 컬럼 유형 PERFORMANCE_SCHEMA를 통해 사용 가능한 데이터를 확장하여 밀리 초, 복제 개선 및 성능 모니터링을 올바르게 저장합니다 . [41] InnoDB 스토리지 엔진은 또한 전체 텍스트 검색과 그룹 커밋 성능 향상을 지원합니다.

MySQL 5.7의 일반적인 가용성은 2015 년 10 월에 발표되었습니다 .

MySQL Server 8.0.0-dmr (Milestone Release)는 2016 년 9 월 12 일에 발표되었습니다. [43]


출시 이력 

해제일반 가용성최신 부 버전최신 릴리스
5.12008-11-14 [44]5.1.73 [45]2013-12-03
5.52010-12-03 [46]5.5.562017-05-02
5.62013-02-05 [47]5.6.362017-04-10
5.72015-10-21 [48]5.7.192017-07-17
8.0N / A8.0.1 [49]2017-04-10
전설:
구 버전
여전히 지원되는 이전 버전
최신 버전
최신 미리보기 버전


법적 분쟁 및 인수

2001 년 6 월 15 일, NuSphere 는 MySQL AB, TcX DataKonsult AB 및 원래 저자 인 Michael ( "Monty") Widenius와 David Axmark를 "계약 위반, 제 3 자 계약 및 관계 및 불공정 경쟁에 대한 불법적 인 간섭 ". [50 ]


2002 년 MySQL AB는 Progress NuSphere를 미국 지방 법원 에서 저작권 및 상표권 침해 로 소송했습니다 . NuSphere는 라이선스의 준수없이 MySQL의 GPL 코드와 NuSphere Gemini 테이블을 연결하여 MySQL의 저작권을 침해 한 것으로 추정됩니다. [52] 2002 년 2 월 27 일 Patti Saris 판사 의 예비 심리 후에 당사자들은 합의 회담에 들어가 결국 합의했다. [53] 청문회 후, FSF는 "판사 사리 그녀가 GNU GPL은 집행과 결합 라이센스로 보는 것이 분명했다."논평 [54]


2005 년 10 월, 오라클 은 트랜잭션 및 외래 키 와 같은 기능을 MySQL이 제공 할 수있게 해주는 타사 InnoDB 스토리지 엔진을 개발 한 Finnish 회사 인 Innobase OY를 인수했습니다 . 인수 후 Oracle의 보도 자료에 따르면 MySQL AB 가 사용할 수있는 소프트웨어를 제공하는 계약 은 2006 년에 갱신 (및 재협상) 될 예정입니다. [55] 2006 년 4 월 MySQL 사용자 회의에서 MySQL은 MySQL과 Innobase OY가 라이선스 계약의 "다년간"연장에 동의했음을 확인한 보도 자료. [56]


2006 년 2 월, 오라클은 인수 슬리피 캣 소프트웨어 , [57] 의 업체 버클리 DB , 다른 MySQL의 스토리지 엔진의 기초를 제공하는 데이터베이스 엔진. 버클리 DB는 널리 사용되지 않았기 때문에 거의 영향을 미치지 않았고 2006 년 10 월에 출시 된 MySQL 5.1의 GA 이전 릴리스 인 MySQL 5.1.12에서 삭제되었습니다 (사용 부족으로 인해) .


2008 년 1 월, Sun Microsystems는 MySQL을 10 억 달러에 구입했습니다. [59]


2009 년 4 월, 오라클은 썬 마이크로 시스템즈에 대한 매입 계약을 체결 [60] 다음 MySQL의 저작권 및 상표의 소유자. 썬의 이사회는 만장일치로이 거래를 승인했다. 2009 년 8 월 20 일, 썬의 주주 및 미국 정부의 승인을 받았습니다. [61] 2009 년 12 월 14 일에 오라클 은 지난 4 년 동안했던 것처럼 MySQL [62] 을 계속 개선하겠다고 약속 했습니다.


MySQL은 오라클의 인수에 대해 이동, "MySQL의 저장"하기 [63] 오라클은 MySQL의 설립자 중 하나에 의해 시작되었다 몬티 Widenius에 . 50,000 명 이상의 개발자와 사용자의 청원은 유럽 집행위원회에 인수 승인을 요청했습니다. 동시에, 여러 자유 소프트웨어 오피니언 리더 (포함 에벤 모글렌 , 파멜라 존스 의 그록로 (Groklaw) , 얀 와일데보어 와 카를로 피아 또한 합병 규제 절차의 공동 변호인으로 행동) 합병의 조건없는 승인을 옹호했다. [ 표창장은 필요로했다 ]유럽위원회와의 협상의 일환으로 오라클은 독점 및 GPL 버전을 사용할 수있는 MySQL AB에서 오래 동안 사용하던 이중 라이센스 전략을 사용하기 위해 적어도 2015 년까지 MySQL 서버를 계속 사용할 것이라고 약속했습니다. 유럽 ​​연합 (EU)의 독점 금지법은 "합병 승인을위한 조건으로 MySQL을 포기하도록 압력을 가했다"고 전했다. 그러나 위키 리크 스 (WikiLeaks )에 의해 밝혀진 바와 같이 미 법무부는 오라클의 요청에 따라 EU에 무조건 합병을 승인하도록 압력을 가했다. [64] 유럽 ​​집행위원회는 결국 2010 년 1 월 21 일 오라클의 MySQL 인수를 무조건적으로 승인했다 .


2009 년 1 월 오라클이 MySQL을 인수하기 전에 Monty Widenius는 GPL 전용 포크 인 MariaDB를 시작했습니다 . MariaDB는 MySQL 서버 5.5와 동일한 코드 기반을 기반으로하며 Oracle 제공 버전과의 호환성을 유지하는 것을 목표로합니다. [66]


특징


MySQL은 오픈 소스 MySQL Community Server와 독점 Enterprise Server의 두 가지 버전으로 제공됩니다 . [67] 의 MySQL Enterprise Server는 서버 플러그인으로 설치 독점 확장하는 일련의 구별하지만, 그 버전 번호 체계를 공유하고 동일한 코드베이스에서 내장되어있다.


MySQL 5.6에서 사용 가능한 주요 기능 :


확장 기능뿐 아니라 ANSI SQL 99 의 광범위한 하위 집합

플랫폼 간 지원

SQL / PSM 과 밀접하게 부합하는 절차 언어를 사용하는 저장 프로 시저 [68]

방아쇠

커서

업데이트 가능한 보기

InnoDB 스토리지 엔진을 사용할 때의 온라인 DDL .

정보 스키마

모니터링 목적으로 서버 실행 및 쿼리 성능에 대한 통계를 수집하고 집계하는 성능 스키마입니다. [69]

SQL 표준을보다 잘 준수하기위한 엄격 모드를 포함하여 런타임 동작을 제어하는 ​​SQL 모드 옵션 세트입니다.

X / Open XA 분산 트랜잭션 처리 (DTP) 지원; 디폴트의 InnoDB 스토리지 엔진을 사용하여 2 단계 커밋

기본 InnoDB 스토리지 엔진을 사용할 때 세이브 포인트 와의 트랜잭션 . NDB Cluster Storage Engine은 또한 트랜잭션을 지원합니다.

InnoDB 및 NDB Cluster 스토리지 엔진을 사용할 때의 ACID 준수 [70]

SSL 지원

쿼리 캐싱

하위 SELECT (즉, 중첩 된 SELECT)

마스터 당 하나의 마스터, 마스터 당 많은 슬레이브를 갖춘 내장 된 복제 지원 (마스터 마스터 복제 및 마스터 - 슬레이브 복제). [71] 다중 마스터 복제가 제공된다 MySQL 클러스터 , [72] 및 다중 마스터 지원 갈레 클러스터를 사용하여 클러스터링 구성에 추가 될 수있다. [73]

전체 텍스트 인덱싱 및 검색 [a]

내장 데이터베이스 라이브러리

유니 코드 지원 [b]

최적화 프로그램에 파티션 정리 기능이있는 분할 된 테이블

MySQL 클러스터를 통한 비공유 클러스터링

여러 스토리지 엔진을 통해 애플리케이션의 각 테이블에 대해 가장 효과적인 것을 선택할 수 있습니다. [기음]

네이티브 스토리지 엔진 InnoDB , MyISAM , Merge, Memory (heap), Federated , Archive, CSV , Blackhole, NDB Cluster.

그룹화를 커밋하고 여러 연결에서 여러 트랜잭션을 수집하여 초당 커밋 수를 늘립니다.

개발자는 약 2 개월마다 MySQL 서버의 마이너 업데이트를 릴리스합니다. 소스는 MySQL의 웹 사이트 또는 MySQL의 GitHub 저장소에서 GPL 라이센스에 따라 얻을 수 있습니다 .


제한 

이노의 기본 이외의 스토리지 엔진을 사용하는 경우, MySQL은 전체 준수하지 않는 SQL의 외래 키 참조를 포함하여 구현 된 기능 중 일부에 대한 표준, [74] , 체크 제약. [75]


MySQL 5.7까지, 트리거는 액션 / 타이밍 당 하나씩으로 제한됩니다. 즉, 최대 하나의 트리거를 INSERT 작업 후에 실행하도록 정의 할 수 있으며 동일한 테이블에서 INSERT 이전에 트리거를 정의 할 수 있습니다 . [76] 뷰에는 트리거를 정의 할 수 없습니다. [76]


UNIX_TIMESTAMP 같은 MySQL 데이터베이스의 붙박이 기능 () 03:14:07 후 0을 반환 UTC 에 2038년 1월 19일 . [77]


배포 


LAMP 소프트웨어 번들, 여기 오징어 와 함께 표시됩니다 .

MySQL은 소스 코드에서 수동으로 빌드하고 설치할 수 있지만 특별한 사용자 정의가 필요하지 않으면 바이너리 패키지에서 설치하는 것이 더 일반적입니다. 대부분의 Linux 배포판 에서 패키지 관리 시스템 은 최소한의 노력으로 MySQL을 다운로드하고 설치할 수 있지만 보안 및 최적화 설정을 조정할 때 종종 추가 구성이 필요합니다.


MySQL은보다 독점적 인 데이터베이스에 대한 저가형 대안으로 시작되었지만 점차적으로 더 큰 규모의 요구 사항을 지원하기 위해 발전해 왔습니다. LAMP 기반 웹 응용 프로그램 의 구성 요소 또는 독립 실행 형 데이터베이스 서버 로 중소 규모 단일 서버 배포에서 가장 일반적으로 사용됩니다 . MySQL의 매력 중 상당 부분은 phpMyAdmin 과 같은 오픈 소스 도구의 생태계에 의해 가능해진 비교적 단순하고 사용 용이성에서 기인 합니다. 중간 범위의 경우, MySQL은 기가 바이트의 메모리가있는 멀티 프로세서 서버와 같이 더 강력한 하드웨어에 배포하여 확장 할 수 있습니다.


그러나 단일 서버에서 성능을 확장 할 수있는 한계가 있기 때문에 규모가 커질수록 향상된 성능과 신뢰성을 제공하기 위해 다중 서버 MySQL ( '스케일 아웃') 배포가 필요합니다. 일반적인 하이 엔드 구성에는 데이터 쓰기 작업 을 처리하고 모든 읽기 작업을 처리하는 여러 슬레이브에 복제 되는 강력한 마스터 데이터베이스가 포함될 수 있습니다 . [78] 마스터 서버는 계속해서 오류시 슬레이브 중단 시간을 최소화하는 새로운 마스터가 촉진 될 수 있도록 연결된 슬레이브 바이너리 로그 이벤트를 민다. 성능 향상은 memcached를 사용하여 메모리에서 데이터베이스 쿼리의 결과를 캐싱 하거나 데이터베이스를 작은 청크로 분해 하여 성능을 향상시킬 수 있습니다.파편 분산 서버 클러스터의 수에 분산 될 수있다. [79]


백업 소프트웨어

mysqldump 는 MySQL의 커뮤니티 에디션과 엔터프라이즈 에디션에 포함 된 논리적 인 백업 툴이다. 모든 스토리지 엔진에서 백업을 지원합니다. MySQL Enterprise Backup은 오라클의 MySQL Enterprise 구독의 일부로 포함 된 핫 백업 유틸리티로, 다른 스토리지 엔진을위한 백업뿐만 아니라 원시 InnoDB 핫 백업을 제공합니다.


XtraBackup 은 오픈 소스 MySQL 핫 백업 소프트웨어 프로그램입니다. 기능으로는 InnoDB 스토리지를위한 핫 (hot), 비 록 (non-locking) 백업, 증분 백업, 스트리밍, 병렬 압축 백업, 초당 입출력 작업 수를 기반으로 한 스로틀 링 등이 있습니다 .


고 가용성 소프트웨어

MySQL Fabric은 MySQL 서버 모음을 관리하기위한 통합 시스템 이며 고 가용성 및 데이터베이스 샤딩이 구축 된 프레임 워크 입니다. MySQL Fabric은 오픈 소스이며, 장애 발생시 프로 시저 실행을 지원하며, 일반적으로 복원 실행 이라고하는 실행 모델을 제공합니다 . MySQL 클라이언트 라이브러리는 확장되어 서버 오류시에도 장애 조치 를 처리하는 복잡성을 숨길 뿐만 아니라 트랜잭션을 샤드에 올바르게 디스패치합니다. [81]


클라우드 배치

주요 기사 : 구름 데이타베이스

MySQL은 Amazon EC2 와 같은 클라우드 컴퓨팅 플랫폼 에서도 실행할 수 있습니다 . 클라우드에있는 MySQL의 일반적인 배포 모델은 다음과 같습니다.


가상 시스템 이미지

이 구현에서는 클라우드 사용자가 MySQL을 설치 한 상태에서 자신의 머신 이미지를 업로드하거나 Amazon EC2에서 제공하는 것과 같이 MySQL의 최적화 된 설치로 기성품 이미지를 사용할 수 있습니다. [82]

서비스로서의 MySQL

일부 클라우드 플랫폼은 MySQL을 "서비스"로 제공합니다. 이 구성에서 응용 프로그램 소유자는 MySQL 데이터베이스를 자체적으로 설치하고 유지 관리 할 필요가 없습니다. 대신 데이터베이스 서비스 공급자가 데이터베이스 설치 및 유지 관리 책임을 맡고 응용 프로그램 소유자는 사용법에 따라 비용을 지불합니다. [83] 주목할만한 클라우드 기반의 MySQL 서비스가 있습니다 아마존 관계형 데이터베이스 서비스 ; 랙 스페이스 ; HP 수렴형 클라우드 ; Heroku 와 Jelastic .


사용자 인터페이스


그래픽 사용자 인터페이스

그래픽 사용자 인터페이스 (GUI)는 텍스트 기반 인터페이스가 아닌 명령 라벨 또는 텍스트 탐색을 입력으로서 사용자가 전자 장치 또는 그래픽 아이콘 및 보조 악보 시각적 표시기를 통해 프로그램과 상호 작용할 수 있도록 인터페이스의 일종이다. GUI는 키보드에서 명령을 입력해야하는 명령 행 인터페이스 (CLI)보다 배우기가 쉽습니다.


MySQL과 통합되고 사용자가 데이터베이스 구조 및 데이터를 시각적으로 작업 할 수있게 해주는 타사 독점 및 무료 그래픽 관리 응용 프로그램 (또는 "프런트 엔드")을 사용할 수 있습니다. 몇 가지 잘 알려진 프런트 엔드는 다음과 같습니다.



MacOS에서 실행되는 MySQL Workbench

MySQL 워크 벤치

MySQL Workbench 는 MySQL을 위한 공식 통합 환경입니다. 이것은 MySQL AB가 개발했으며, 사용자는 그래픽으로 MySQL 데이터베이스를 관리하고 데이터베이스 구조를 시각적으로 디자인 할 수 있습니다. MySQL Workbench는 이전의 소프트웨어 패키지 인 MySQL GUI Tools를 대체합니다 . MySQL Workbench는 다른 써드 파티 패키지와 마찬가지로 여전히 권위있는 MySQL 프론트 엔드로 간주되며, 데이터베이스 디자인 및 모델링, SQL 개발 (MySQL 쿼리 브라우저 대체) 및 데이터베이스 관리 (MySQL 관리자 대체)를 관리 할 수 ​​있습니다.

MySQL Workbench 에는 MySQL 웹 사이트에서 다운로드 할 수 있는 일반 무료 및 오픈 소스 커뮤니티 에디션 과 커뮤니티 에디션 의 기능 세트를 확장하고 개선하는 독점 표준 에디션 두 가지 가 있습니다 .

관리자

관리자 (이전의 phpMinAdmin)는 MySQL 데이터베이스의 내용을 관리하기위한 무료 MySQL 프론트 엔드입니다 (버전 2 이후로 PostgreSQL, MS SQL, SQLite 및 Oracle SQL 데이터베이스에서도 작동합니다). 관리자는 Apache 라이센스 (또는 GPL v2)로 단일 PHP 파일 (약 300KB 크기) 형태로 배포되며 여러 CSS를 사용할 수있는 여러 데이터베이스를 관리 할 수 ​​있습니다. 필자는 Jakub Vrána가 2007 년 7 월 phpMyAdmin의 경량 대체품으로이 도구를 개발하기 시작했습니다.

데이터베이스 워크 벤치

Database Workbench 는 UPscene Productions에서 개발 한 여러 데이터베이스 시스템 간의 상호 운용성을 통해 SQL을 사용하여 여러 관계형 데이터베이스를 개발하고 관리하는 소프트웨어 응용 프로그램입니다.

Databases Workbench는 다중 데이터베이스 시스템을 지원하기 때문에 소프트웨어 개발자에게 다른 데이터베이스 시스템과 동일한 인터페이스 및 개발 환경을 제공 할 수 있으며 크로스 데이터베이스 도구도 포함 할 수 있습니다.

Database Workbench는 Oracle Database, Microsoft SQL Server, SQL Anywhere, Firebird, NexusDB, InterBase, MySQL 및 MariaDB와 같은 관계형 데이터베이스를 지원합니다. Database Workbench 5는 32 비트 또는 64 비트 Windows 플랫폼에서 실행됩니다. Linux에서 FreeBSD 또는 macOS Database Workbench는 Wine을 사용하여 작동 할 수 있습니다.

DBEdit

DBEdit 는 Oracle, DB2, MySQL 및 JDBC 드라이버를 제공하는 모든 데이터베이스에 연결할 수있는 데이터베이스 편집기입니다. Windows, Linux 및 Solaris에서 실행됩니다. DBEdit은 무료이며 오픈 소스 소프트웨어이며 GNU General Public License하에 배포됩니다. 소스 코드는 SourceForge에서 호스팅됩니다.

HeidiSQL

이전에 MySQL-Front로 알려진 HeidiSQL 은 무료 오픈 소스 클라이언트 또는 MySQL (그리고 MariaDB 및 Percona Server와 같은 포크), Microsoft SQL Server 및 PostgreSQL의 프론트 엔드입니다. HeidiSQL은 독일 프로그래머 Ansgar Becker와 Delphi의 다른 기고가들에 의해 개발되었습니다. HeidiSQL을 사용하여 데이터베이스를 관리하려면 사용자는 허용 가능한 자격 증명을 사용하여 로컬 또는 원격 MySQL 서버에 로그인하여 세션을 만들어야합니다. 이 세션 내에서 사용자는 연결된 MySQL 서버 내에서 MySQL 데이터베이스를 관리하고 완료되면 서버와의 연결을 끊을 수 있습니다. 이 기능 세트는 대부분의 일반적이고 고급 데이터베이스, 테이블 및 데이터 레코드 작업에는 충분하지만 MySQL Frontend에서 예상되는 모든 기능을 사용하기 위해 적극적인 개발을 계속하고 있습니다.

오픈 오피스 자료

LibreOffice Base는 최종 사용자가 데이터에 쉽게 액세스 할 수 있도록 데이터베이스 작성, 양식 및 보고서 준비를 가능하게합니다. Microsoft Access 와 마찬가지로 Access 데이터베이스 (JET), ODBC 데이터 소스 및 MySQL 또는 PostgreSQL [84]을 비롯한 다양한 데이터베이스 시스템의 프런트 엔드로 사용할 수 있습니다 .

Navicat

Navicat 은 MySQL, MariaDB, Oracle, SQLite, PostgreSQL 및 Microsoft SQL Server 용으로 PremiumSoft CyberTech Ltd.에서 만든 일련의 그래픽 데이터베이스 관리 및 개발 소프트웨어입니다. 탐색기와 같은 그래픽 사용자 인터페이스가 있으며 로컬 및 원격 데이터베이스에 대한 다중 데이터베이스 연결을 지원합니다. 이 디자인은 데이터베이스 관리자 및 프로그래머부터 고객에게 서비스를 제공하고 파트너와 정보를 공유하는 다양한 비즈니스 / 회사에 이르기까지 다양한 고객의 요구를 충족시키기 위해 만들어졌습니다.

Navicat은 크로스 플랫폼 도구이며 Microsoft Windows, OS X 및 Linux 플랫폼에서 작동합니다. 구매시 사용자는 영어, 프랑스어, 독일어, 스페인어, 일본어, 폴란드어, 중국어 (간체 및 번체)의 8 가지 언어에서 소프트웨어 언어를 선택할 수 있습니다.

OpenOffice.org

OpenOffice.org Base 는 무료로 사용할 수 있으며 전체 제품군이 설치된 경우 MySQL 데이터베이스를 관리 할 수 ​​있습니다.

phpMyAdmin

phpMyAdmin 은 웹 브라우저를 사용하여 MySQL 관리를 처리하기위한 PHP로 작성된 무료 오픈 소스 도구입니다. 데이터베이스, 테이블, 필드 또는 행 작성, 수정 또는 삭제와 같은 다양한 작업을 수행 할 수 있습니다. SQL 문 실행. 또는 사용자 및 권한 관리 78 개 언어로 제공되는이 소프트웨어는 [ phpMyAdmin Project ] 에서 관리합니다 [85] . [86]

CSV 및 SQL에서 데이터를 가져올 수 있으며 이미지 또는 다운로드 링크로 BLOB 데이터를 표시하는 것과 같이 사전 정의 된 기능 세트를 사용하여 저장된 데이터를 모든 형식으로 변환 할 수 있습니다.

SQLBuddy

SQLBuddy 는 웹 브라우저를 사용하여 MySQL 및 SQLite 관리를 처리하기위한 PHP로 작성된 오픈 소스 웹 기반 응용 프로그램입니다. 이 프로젝트는 설치가 쉽고 간단한 사용자 인터페이스에 중점을 둡니다.

SQLyog

SQLyog 는 유료 버전뿐만 아니라 무료로 사용할 수있는 GUI 도구입니다. 데이터 조작 (예 : 삽입, 업데이트 및 삭제)은 스프레드 시트와 같은 인터페이스에서 수행 할 수 있습니다. 편집기의 구문 강조 기능 과 다양한 자동 서식 옵션이 있습니다. 원시 테이블 데이터와 쿼리의 결과 집합을 모두 조작 할 수 있습니다. 데이터 검색 기능은 Google과 유사한 검색 구문을 사용하며 사용자에게 투명하게 SQL로 변환됩니다. 무인 백업을 수행하기위한 백업 도구가 있습니다. 백업은 압축되어 선택적으로 테이블 당 파일로 저장 될 수 있으며 타임 스탬프로 식별됩니다.

Toad for MySQL

Toad for MySQL 은 Dell 소프트웨어의 소프트웨어 응용 프로그램으로, 데이터베이스 개발자, 데이터베이스 관리자 및 데이터 분석가가 SQL을 사용하여 관계형 및 비 관계형 데이터베이스를 모두 관리하는 데 사용됩니다. Toad는 많은 데이터베이스와 환경을 지원합니다. Microsoft Windows Server, Windows XP, Windows Vista, Windows 7 및 8 (32 비트 또는 64 비트)을 포함하여 모든 32 비트 / 64 비트 Windows 플랫폼에서 실행됩니다. Dell 소프트웨어는 Toad Mac Edition도 출시했습니다. Dell은 상용 및 시험판 / 프리웨어 버전으로 Toad를 제공합니다. 프리웨어 버전은 ToadWorld.com 커뮤니티에서 구할 수 있습니다.

Webmin

Webmin 은 Unix 계열 시스템 용 웹 기반 시스템 구성 도구입니다. 최신 버전도 Windows에 설치하여 실행할 수 있습니다. 이를 통해 사용자, 디스크 할당량, 서비스 또는 구성 파일과 같은 운영 체제 내부 구성을 비롯하여 Apache HTTP Server, PHP 또는 MySQL과 같은 오픈 소스 응용 프로그램을 수정하고 제어 할 수 있습니다.

Webmin은 주로 자체 프로세스 및 웹 서버로 실행되는 Perl을 기반으로합니다. 통신을 위해 기본적으로 TCP 포트 10000으로 설정되며, OpenSSL에 추가로 필요한 Perl 모듈이 설치된 경우 SSL을 사용하도록 구성 할 수 있습니다.

구성 파일과 Webmin 서버에 대한 인터페이스가있는 모듈을 중심으로 구성됩니다. 따라서 새로운 기능을 쉽게 추가 할 수 있습니다. Webmin의 모듈 식 설계로 인해 관심있는 모든 사람들이 데스크탑 구성을위한 플러그인을 작성할 수 있습니다.

또한 Webmin은 단일 인터페이스 또는 동일한 서브넷이나 LAN상의 다른 Webmin 호스트에 대한 완벽한 로그인을 통해 많은 시스템을 제어 할 수 있습니다.

명령 행 인터페이스

명령 라인 인터페이스는 사용자가 문제가 텍스트의 연속적인 라인들 (커맨드 라인)를 입력하여, 프로그램에 명령하는 컴퓨터 프로그램과 상호 작용하는 수단이다. MySQL에는 많은 명령 줄 도구가 제공되며,이 도구의 기본 인터페이스는 mysql 클라이언트입니다. [87 ]


MySQL 유틸리티는 공통 유지 보수 및 관리 작업을 수행하도록 설계된 유틸리티 세트입니다. 원래 MySQL Workbench의 일부로 포함 된 유틸리티는 Oracle에서 제공하는 독립 실행 형 다운로드입니다.


Percona Toolkit은 Perl로 개발 된 MySQL을위한 크로스 플랫폼 툴킷입니다 . [89] Percona 툴킷은 복제가 제대로 작동 증명 손상된 데이터를 수정, 반복적 인 작업을 자동화하고, 서버의 속도를하는 데 사용할 수 있습니다. Percona Toolkit은 CentOS 및 Debian 과 같은 여러 Linux 배포판에 포함되어 있으며 패키지는 Fedora 및 Ubuntu 에서도 사용할 수 있습니다. Percona Toolkit은 원래 Maatkit으로 개발되었지만 2011 년 말부터 Maatkit은 더 이상 개발되지 않았습니다.


응용 프로그래밍 인터페이스 


언어 별 API가 있는 많은 프로그래밍 언어 에는 MySQL 데이터베이스에 액세스하기위한 라이브러리 가 포함되어 있습니다. 여기에는 Microsoft의 Visual Studio ( C # 및 VB 와 같은 언어 가 가장 일반적으로 사용되는 언어) 및 Java 용 JDBC 드라이버와의 통합을위한 MySQL Connector / Net가 포함됩니다 . 또한, ODBC의 호출 인터페이스를 MySQL의 커넥터 / ODBC는 같은 MySQL 데이터베이스와 통신 할 ODBC 인터페이스 지원 추가 프로그래밍 언어 수 있습니다 ASP 또는 ColdFusion은 . HTSQL  - URL기반 쿼리 메소드는 MySQL 어댑터와 함께 제공되므로 구조화 된 URL을 통해 MySQL 데이터베이스와 모든 웹 클라이언트간에 직접 상호 작용할 수 있습니다.


프로젝트 포크 


에서 소프트웨어 공학 개발자의 사본을 찍을 때, 프로젝트 포크가 발생 소스 코드를 하나 개 의 소프트웨어 패키지 소프트웨어의 독특하고 별도의 조각을 만들고, 거기에 독립적 인 개발을 시작 - 새로운 (제 3 자) 버전. 이 용어는 개발 지점을 만드는 것 뿐만 아니라 개발자 커뮤니티에서 분열 하는 것을 의미합니다 ( 분열의 한 형태 ). [90] MySQL 포크에는 다음이 포함됩니다 :


현재

MariaDB

MariaDB 는 지역 사회에서 개발 한 MySQL 관계형 데이터베이스 관리 시스템으로, GNU GPL 하에서 무료로 사용할 수 있습니다. 선도적 인 오픈 소스 소프트웨어 시스템을 기반으로하는 오라클의 인수에 대한 우려로 MySQL을 처음으로 개발 한 개발자가이 소프트웨어를 개발 한 것은 주목할만한 특징입니다. [37] 참여자는 자신의 저작권을 MariaDB Foundation과 공유해야합니다. [91] MariaDB는 MySQL과 높은 호환성을 유지하면서 라이브러리 바이너리 동등성 및 MySQL API 및 명령 과의 정확히 일치하는 "드롭 인 (drop-in)"대체 기능을 보장 합니다. [92] MySQL과 MariaDB의 버전 간에는 문서화 된 차이점과 비 호환성이 있습니다. [92]그러나 MySQL Workbench 와 같이 MySQL과 상호 작용하는 일부 도구는 MariaDB와 완벽하게 호환되지 않습니다. [93] 그것은 포함 XtraDB의 교체 스토리지 엔진 이노를 , [94] 뿐만 아니라 새로운 스토리지 엔진 등 아리아 심지어 MySQL의 이후 버전에 포함 된 트랜잭션이 아닌 트랜잭션 엔진 모두가 될 예정. [95]

Percona Server

Percona Server 는 Percona 가 공식 MySQL 릴리스와의 긴밀한 호환성을 유지하면서 서버 운영에 대한 성능과 가시성을 중시하는 것을 목표로 삼고 있습니다. [96] 또한 Percona Server에는 Percona의 InnoDB 스토리지 엔진 포크 인 XtraDB 가 포함되어 있습니다. Percona는 MySQL의 상업용 Enterprise 에디션에서만 사용 가능한 많은 확장 성, 가용성, 보안 및 백업 기능을 자유롭게 포함합니다. [97]

버림받은

이슬비

Drizzle 은 MySQL DBMS의 현재 개발되지 않은 6.0 개발 지점에서 파생 된 무료 소프트웨어 / 오픈 소스 관계형 데이터베이스 관리 시스템 (DBMS)이었습니다. [98] Drizzle은 MySQL과 마찬가지로 클라이언트 / 서버 아키텍처를 사용하고 SQL 을 기본 명령어 언어로 사용 합니다. Drizzle은 GNU General Public License (GPL) 의 버전 2와 3에 BSD 라이센스에 따라 프로토콜 드라이버와 복제 메시징을 포함하여 배포되었습니다.

WebScaleSQL

WebScaleSQL 은 MySQL 5.6의 소프트웨어 계열 이었으며, 2014 년 3 월 27 일 Facebook, Google, LinkedIn 및 Twitter에 의해 발표되었습니다. 이는 대규모 배포와 관련된 새로운 기능으로 MySQL을 확장하기위한 중앙 집중식 개발 구조를 제공하기위한 공동 노력입니다. 서버 팜에서 실행되는 대규모 복제 데이터베이스 구축 따라서 WebScaleSQL은 각 회사가 자체 MySQL 분기를 유지하고 더 많은 개발자를 끌어 들이기 위해 노력한 노력을 중복 제거하는 방향으로 나아갔습니다. 이러한 기업의 노력을 결합하고 다양한 변경 사항과 새로운 기능을 MySQL에 통합함으로써 WebScaleSQL은 대규모 환경에서 MySQL 배포를 지원하는 것을 목표로 삼았습니다. [99 ]이 프로젝트의 소스 코드는 GNU General Public License 버전 2에 따라 사용이 허가되며 GitHub에서 호스팅됩니다 . [101 ]


출처 위키백과

'MySQL' 카테고리의 다른 글

Windows MySQL 버전 확인  (0) 2017.08.31

windows에서 mysql 버전을 확인하는 방법입니다.

현재 window PC에는 MariaDB가 배포되어있어 MariaDB로 테스트하였습니다. mysql 버전확인 또한 동일합니다.



C:\> mysql -v

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 2 Server version: 10.0.17-MariaDB mariadb.org binary distribution Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> exit Bye




MariaDB version :  10.0.17-MariaDB

'MySQL' 카테고리의 다른 글

MySQL 소개  (0) 2017.09.06

+ Recent posts