Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

Linux에서 MySQL을 MariaDB로 마이그레이션하는 방법은 무엇입니까?

<시간/>

이 문서는 마이그레이션 프로세스에서 MySQL과 MariaDB의 바이너리 호환성이 매우 간단하기 때문에 MySQL에서 MariaDB로 데이터베이스를 마이그레이션하는 데 도움이 될 것입니다.

오라클이 MySQL을 인수한 후 커뮤니티는 그러한 움직임의 결과를 주도했고 MariaDB라는 새로운 데이터베이스를 개발했습니다. MariaDB는 오픈 소스이며 MySQL과 호환됩니다. 대부분의 Linux 배포판(RH, CentOS, Fedora)은 이미 MySQL의 드롭인 대체품으로 MariaDB 지원을 사용하기 시작했습니다.

데이터베이스를 MySQL에서 MariaDB로 마이그레이션하려는 경우 이 문서가 도움이 될 것입니다.

MySQL 데이터베이스 및 테이블 준비

데모 목적으로 테스트 MySQL 데이터베이스와 전체 테이블을 생성합니다. 환경에 데이터베이스와 테이블이 있는 경우 이 단계를 건너뛸 수 있습니다.

MySQL 루트 사용자와 루트 사용자 비밀번호를 사용하여 터미널에서 MySQL에 로그인합니다.

# mysql -uroot -p

하나의 데이터베이스 및 테이블 생성

mysql> 데이터베이스 생성 test1;mysql> use test1;mysql> 테이블 생성 tab1(name varchar(30), owner varchar(30), 종 varchar(20), sex char(1));Query OK, 0 rows 영향(0.02초)

또한 데이터를 테스트하기 위해 몇 가지 레코드를 추가합니다.

mysql> insert into tab1 values('Chandra','Prakash','Kadarla','m'),('Srinvas','Kadarla','Chary','m');쿼리 OK, 2행 영향을 받는(0.00초)기록:2 중복:0 경고:0그런 다음 MySQL에서 종료합니다.

MySQL 데이터베이스 백업

명령을 사용하여 MySQL 데이터베이스를 백업해야 했습니다. – MySQL dump

# mysqldump --all-databases --user=root --password --master-data> backupDB.sql

보안상의 이유로 시스템의 다른 곳에서 MySQL용 구성 파일을 일부 가져옵니다.

# cp /etc/mysql/my.cnf /opt/my.cnf.bak

MySQL 패키지 제거

아래 명령을 사용하여 MySQL을 제거합니다 –

# 서비스 mysqld stop# yum remove mysql-server mysql-client mysql-common

MariaDB 패키지 설치

MariaDB는 모든 주요 Linux 배포 공식 리포지토리에서 MySQL로 대체되었습니다. 이전 버전의 Linux를 사용 중이더라도 공식 저장소를 추가할 수 있습니다.

yum repos 디렉토리에 파일 생성

# sudo vi /etc/yum.repos.d/MariaDB.repo

파일에 아래 내용을 추가하고 저장하세요.

[mariadb]이름 =MariaDBbaseurl =https://yum.mariadb.org/5.5/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1

Maria-DB 서버 및 클라이언트를 설치하려면 아래 명령을 실행하십시오.

# yum install MariaDB-server MariaDB-clientLoaded 플러그인:fastmirror, langpacksbase | 3.6kB 00:00추가 | 3.4kb 00:00mariadb | 2.9KB 00:00업데이트 | 3.4 kB 00:00 --> 새로운 변경 사항으로 종속성 해결을 다시 시작합니다. --> 트랜잭션 검사 실행 ---> MariaDB-shared.x86_64 0:5.5.49-1.el7.centos 패키지는 폐기됩니다 ---> mariadb-libs.x86_64 1:5.5.35-3.el7 패키지는 사용되지 않음 --> 종속성 해결 완료 종속성 해결됨===========================================================================================패키지 아치 버전 저장소 크기==========================================================================================설치 중:MariaDB 클라이언트 x86_64 5.5.49- 1.el7.centos mariadb 8.6 M MariaDB-server x86_64 5.5.49-1.el7.centos mariadb 40 M MariaDB 공유 x86_64 5.5.49-1.el7.centos mariadb 1.0 M mariadb-libs.x16 교체:35-3.el7종속성 설치:MariaDB-common x86_64 5.5.49-1.el7.centos mariadb 23 k perl-Compress-Raw-Bz ip2 x86_64 2.061-3.el7 기본 32 k perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 기본 57 k perl-DBI x86_64 1.627-4.el7 기본 802 k perl-Data-Dumper el7 base 47 k perl-IO-Compress noarch 2.061-2.el7 base 260 k perl-Net-Daemon noarch 0.48-5.el7 base 51 k perl-PlRPC noarch 0.2020-14.el7 base 36 kTransaction Summary=====================================================================================================================================설치 3 패키지(+8 종속 패키지) 총 다운로드 크기:51 MIs this ok [y/d/N]:y패키지 다운로드:경고:/var/cache/yum/x86_64/7/mariadb/packages/MariaDB-5.5.49-centos7-x86_64-common.rpm:헤더 V4 DSA/SHA1 서명, 키 아이디 1bb9 43db:MariaDB-5.5.49-centos7-x86_64-common.rpm용 NOKEYPublic 키가 설치되지 않았습니다(1/11):MariaDB-5.5.49-centos7-x86_64-common.rpm | 23kB 00:00:01(2/11):MariaDB-5.5.49-centos7-x86_64-client.rpm | 8.6MB 00:00:12경고:/var/cache/yum/x86_64/7/base/packages/perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm:헤더 V3 RSA/SHA256 서명, 키 ID f4a80eb5:perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm에 대한 NOKEYPublic 키가 설치되지 않았습니다(3/11):perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm | 32kB 00:00:00(4/11):perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm | 57 kB 00:00:00(5/11):perl-Data-Dumper-2.145-3.el7.x86_64.rpm | 47 kB 00:00:00(6/11):perl-IO-Compress-2.061-2.el7.noarch.rpm | 260kB 00:00:00(7/11):perl-Net-Daemon-0.48-5.el7.noarch.rpm | 51kB 00:00:00(8/11):perl-DBI-1.627-4.el7.x86_64.rpm | 802 kB 00:00:00(9/11):perl-PlRPC-0.2020-14.el7.noarch.rpm | 36kB 00:00:00(10/11):MariaDB-5.5.49-centos7-x86_64-shared.rpm | 1.0 MB 00:00:01총 다운로드 크기:51 MRunning transaction checkTransaction testTransaction test 실행 중 transaction 설치 중:MariaDB-common-5.5.49-1.el7.centos.x86_64 1/12 설치 중:perl-Data-Dumper-2.145-3 .el7.x86_64 2/12 설치 중 :MariaDB-client-5.5.49-1.el7.centos.x86_64 3/12 설치 중 :1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 4/12 설치 중 :perl-Net-Daemon-0.48-5.el7.noarch 5/12 설치 :perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 6/12 설치 :perl-IO-Compress-2.061-2.el7 .noarch 7/12 설치:perl-PlRPC-0.2020-14.el7.noarch 8/12 설치:perl-DBI-1.627-4.el7.x86_64 9/12설치:MariaDB-client.x86_64 0:5.5.49-1 .el7.centos MariaDB-server.x86_64 0:5.5.49-1.el7.centos MariaDB-shared.x86_64 0:5.5.49-1.el7.centosDependency 설치됨:MariaDB-common.x86_64 0:5.5.49-1 .el7.centos 피 erl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBI.x86_64 0:1.627-4.el7 perl-Data-Dumper x86_64 0:2.145-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7 perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PlRPC.noarch 0:0.2020-14.el7Replaced:mariadb -libs.x86_64 1:5.5.35-3.el7완전!

필요한 모든 패키지를 설치한 후 루트 사용자 계정에 대한 암호를 설정해야 했습니다. 루트 암호는 MySQL에서 백업을 가져오는 구성 파일을 복구합니다.

# cp /opt/my.cnf /etc/mysql/

이제 아래 명령을 실행하여 MariaDB 서비스를 다시 시작해야 합니다.

# 서비스 mariadb 시작

MySQL 데이터베이스 가져오기

MySQL에서 MariaDB로 백업한 데이터베이스를 가져와야 합니다.

# mysql -u root -p  

루트 사용자의 비밀번호를 입력하면 데이터베이스를 MariaDB로 가져옵니다.

데이터베이스가 제대로 복원되었는지 확인해야 했습니다.

다음 명령을 따르십시오 –

# mysql -u root -pMariaDB [(없음)]> 데이터베이스 표시;+--------------------+| 데이터베이스 |+--------------------+| 정보 스키마 || mysql || test1 |+--------------------+3행 세트(0.00초)MariaDB [(없음)]> test1 사용;MariaDB [test01]> select * from tab1;tab1에서 * 선택;+---------+---------+---------+---+| 이름 | 소유자 | 종 | 섹스 |+---------+---------+---------+------+| 찬드라 | 프라카시 | 카달라 | 남 || 스린바스 | 카달라 | 채리 | m |+---------+---------+---------+------+2행 세트(0.00초) 

이제 MySQL에서 MariaDB로의 마이그레이션이 성공적으로 완료되었습니다.

명령을 실행하고 자습서를 따른 후에는 간단한 단계를 통해 데이터베이스를 MySQL에서 MariaDB로 마이그레이션할 수 있습니다. MariaDB에는 MySQL에 비해 많은 새로운 기능이 있습니다. 위의 자습서에서는 마이그레이션 구성을 테스트하기 위해 간단한 시나리오를 사용했습니다.