배경, 난 mariadb 5.5.31 CentOS 6.4에 MySQL 5.5.31에서에서 마이그레이션 작업의 기록에 의해 다음의 발췌는 여기 있다. 마지막으로, 나는 마이그레이션할 더 나은 방법을 발견.
1. 배경 정보
MySQL은 세계에서 가장 인기 있는 오픈 소스 관계형 데이터베이스 이다. 2008 년 태양 MySQL 인수. 2010 년에 오라클 구입 일, 그리고 MySQL이 오라클의 손아귀에 떨어졌다. 오픈 소스 커뮤니티와 오라클의 관계는 매우 좋은 되지 않았습니다 그리고 심지어 MySQL 커뮤니티와 엔터프라이즈 버전, 자유로운 상업적인 사용, MySQL 엔터프라이즈 버전의 새로운 기능 불공정 오픈 소스 코드 사용자가 매우 불행 하 게 했다. MARIADB는 그런 문제가 있다. MySQL에 비해, MARIADB는의 이점이 있다:
(MySQL은 지역 사회 및 엔터프라이즈 버전, 오라클 덕분에) 자유로운 상업적인 사용
마리아 저장소 엔진
PBXT 저장소 엔진
XTRADB 저장소 엔진
Federatedx 저장소 엔진
쿼리 처리 빠른 복제
스레드 풀
빠른 실행
더 많은 확장된 기능 모듈
유니코드 정렬 지원
그래서 내가 마이클 Widenius는 큰 회사에 MARIADB를 판매 할 수 없습니다 것 이다 예측 하는 것은 아니지만 MARIADB, MySQL에서 이주 하는 방법을 참조 하려면 가상 컴퓨터에 보고 하기로 결정 했다.
원래 MARIADB의 디자인은 MySQL Api를 포함 하 여 완벽 하 게 호환 하 고 클라이언트 프로토콜, 그것 될 수 있도록 쉽게 대체 mysql, 그래서 MARIADB에서 MySQL로 이동은 기본적으로 "업그레 이드"는 소프트웨어 처럼 버전 업그레이드. MARIADB의 기술 문서 읽기:
그것은 동일한 기본 버전 (예를 들어 5.5), 만약 MySQL을 제거 하 고 MARIADB, 당신이 그것을 사용할 수 있도록 설치 수 있습니다. 당신은 하지도 필요가 백업 및 데이터베이스 복원. 물론, 보험, 그것은 매우 경우에서 그냥 업그레이드 하기 전에 모든 데이터베이스를 백업 하는 데 필요한입니다.
MARIADB의 주요 버전 높은 경우, 위의 MySQL을 제거 하 고 MARIADB 작업을 설치 후, Mysql_upgrade 업그레이드를 사용 해야 합니다. 네, 심지어 명령줄은 동일 MySQL을 사용 하는 경우.
모든 원래 클라이언트 및 커넥터 (PHP, 펄, 파이썬, 자바, 및 등) MARIADB MySQL로 사용 하는 동일한 클라이언트 프로토콜 및 클라이언트 라이브러리 파일은 바이너리 호환 때문에 제대로 작동 하려면, 어떤 변화를 필요 하지 않습니다.
2. 마이그레이션 작업 기록 (다음 3 방법은 더 나은)
이 VPS 설치 된 CentOS, 현재 버전은 6.4, mysql 버전은 5.5.31 (레미 소스 사용), 가상 컴퓨터 구성 및이 매우 비슷합니다. 처음 안에서 매우 이해,이 상대적으로 바보 같은 작업의 구현.
1. 먼저 MARIADB 설치 소스를 구성 합니다.
현재 mariadb의 주요 버전은 5.5, 내 CentOS는 32-비트, Mariadb.repo로 다음 설치 소스 구성 저장, server/ETC/YUM.REPOS.D 폴더를 업로드:
[MARIADB]
이름 = MARIADB
사용 = 1
우선 순위 = 3
BaseURL = http://yum.mariadb.org/5.5/centos6-x86
Gpgkey = https://yum.mariadb.org/rpm-gpg-key-mariadb
Gpgcheck = 1
여기서 우선 순위 = 3 우선 순위 우선 순위 얌에 대 한 플러그인입니다.
2. 원래 MYSQL 및 관련된 패키지를 제거 합니다.
# 냠 제거 mysql *
위의와 일치 한 * 모든 MySQL 패킷 (를 포함 하 여 후 위 같은 패키지 종속성으로 인해 삭제 된 다른 패키지)을 제거 하. 예를 들어 직접 설치 하면 충돌 하는 때문에:
패키지에서 파일 서버, mariadb, 1.i686, 5.5.31 충돌을 설치에서 File/usr/share/mysql/ukrainian/errmsg.sys mysql-libs와-5.5.32-1.el6.remi.i686
글쎄, 그것은 마치 Php mysql도 삭제 (사실이 삭제 하면 안), 그래서 phpMyAdmin 또한 종속성에 때문에 때문에 이었다 삭제, 내가 보이지 않았다 신중 하 게.
그것은 와일드 카드를 사용 하지 것이 좋습니다 그래서 *, 선택적으로 몇몇 주요, 삭제
# 냠 MySQL mysql 서버 mysql 라이브러리 제거
하지만 그것은 뒤에 더 나은 방법이 있기 때문에 난 다시 그것을 시험 하지 않았다.
C. 다음 mariadb 및 해당 PHP 확장을 설치 합니다.
그것은 또한 여러 주요 설치 패키지를 지정 하 고 나머지 냠 자신의 종속성 검사 수 있습니다.
# 냠 설치 mariadb 클라이언트 mariadb 서버 php-mysql을
또는 여러 기본 클러스터 동기 MARIADB galera 클러스터 Mariadb 서버를 설치 하는 대신 특성 (동기식 다중 마스터 클러스터) 변경:
# 냠 설치 mariadb galera 서버 mariadb 클라이언트 galera
여기가 더 재미, Php를-mysql WordPress에 방문 후 데이터베이스 실행의 결과 제거 하려면 앞에 관심을 지불 하지 않았다, 결과 다음과 같은 오류가 발생:
PHP 설치 워드 프레스에 의해 필요한 MySQL 확장 누락 되 고 나타납니다.
D. 완료, 복구
버전 업그레이드 여부에 관계 없이 그것은 다치게 하지 않습니다 데이터베이스 업그레이드 지침을 수행:
# mysql_upgrade-p
데이터베이스 버전 업그레이드를 참조 하십시오.
# mysql-u 루트-p-e '같은 전역 변수를 표시 하 는' 버전 ';
비밀 번호를 입력:
+---------------+----------------+
| variable_name | 값 |
+---------------+----------------+
| 버전 | 5.5.31-mariadb |
+---------------+----------------+
부팅 목록에서 시스템에 MARIADB을 추가
# chkconfig-에 345 MySQL 레벨
글쎄, 그것은 mysqld MySQL, 사용 그리고 지금 MySQL, 편지 d.
그것을 시작합니다
# 서비스 MySQL 시작
이 이번에는 서버에서 웹 사이트를 작동 합니다 제대로, 데이터베이스에 대 한 액세스는 문제가 아니다.
필요한 경우 MARIADB 설치 후 후 위를 다시 설치할 수 있습니다. 액세스 하지 않고 phpMyAdmin 힌트를 찾으면 그것을 제거 하 고 다시 설치 하 고 구성 하는 phpMyAdmin 해야 합니다.
또한, 지운 파일과 이전 때문에 다시 구성 해야 원래 MySQL, phpMyAdmin 구성 작업을 제거 합니다. 특히, MySQL의 profile/etc/my.cnf MARIADB 그것의 자신의 프로 파일을 저장 하는 MY.CNF.D 폴더를 만들지만 처음 my.cnf, 그리고 원래 MySQL 구성의 [Mysqld] 섹션의 내용을 로드 하기 때문에 유효 합니다.
3. 더 나은 업그레이드 방법
또는, 위에서 설명한 시스템 구성에서 MARIADB 설치 소스를 먼저 추가 하 고 직접, 시스템 업그레이드를 수행
# 냠 업데이트-스 킵-고장
MARIADB 관련 설치 패키지를 설치 합니다, 원치 않는 MySQL 패키지 제거 됩니다, 그리고 시스템 업그레이드 후 패치 하지 해야 합니다. 출력의 이전 부분을 보면:
==============================================================================================================
패키지 아치 버전 저장소 크기
==============================================================================================================
설치:
Mariadb-galera-서버 i686 5.5.29-1 mariadb M
Mysql.i686 5.5.21-1.el6.remi 교체
Mysql server.i686 5.5.21-1.el6.remi 교체
Mariadb-서버 i686 5.5.31-1 mariadb M
Mysql server.i686 5.5.21-1.el6.remi 교체
mariadb 공유 i686 5.5.31-1 MARIADB 1.0 M
Mysql libs.i686 5.5.21-1.el6.remi 교체
커널 i686 2.6.32-358.11.1.el6 업데이트 M
Libjpeg 터보 i686 1.2.1-1.el6 기본 176 k
교체 libjpeg.i686 6b-46.el6
업데이트:
.........
여기 나는 MySQL에 대 한 완벽 한 대체는 쇼가, 실제 기술 mariadb 디자인 아이디어를 느낀다. 그래서 난 서둘러 업그레이 드 mariadb에 VPS를 어쨌든 후 CentOS 사용된 mariadb, 자연 마이그레이션 바 될 것 이다.