11.1.기존 사용중인 MariaDB(mysql) 데이터 추출(Export)
11.1.1. 도구를 활용한 방법(MysqlWorkbench 활용)
OS에 맞게 MysqlWorkbench 다운로드 합니다.
설치 이후에 MysqlWorkbench를 실행하여 기존의 사용중인 MariaDB(mysql) Connection 정보를 입력합니다.
기존의 사용중인 MariaDB(mysql) 접속하여 Dump를 수행합니다.
11.1.2. mysql client를 통한 CLI 활용 방법
전체 데이터베이스 추출하기
$ mysqldump -uroot -p****** -A > backup_full.sql
특정 데이터베이스 (db1)만 추출
$ mysqldump -uroot -p****** db1 > backup_db1.sql
InnoDB 일 경우에는 --single-transaction 옵션을 사용하여 lock 을 걸지 않고도 Dump가 가능합니다.
또한, function, procedure 가 있는 경우에는 --routines 옵션을 추가합니다.
더 많은 옵션의 경우에는 https://mariadb.com/kb/en/library/mysqldump/ 참고하시기 바랍니다.
11.2.Colud Z DB 서비스 데이터 주입(Import)
11.2.1. 도구를 활용한 방법
Cloud Z DB에서 생성한 mariadb의 Connection 정보를 확인합니다.
Cloud Z DB에서 생성한 mariadb의 Connection를 MysqlWorkbench 에 등록합니다.
Data Import를 통해서 데이터를 주입(Import) 합니다.
11.2.2. mysql client를 통한 CLI 활용 방법
Cloud Z DB에서 생성한 mariadb의 Connection 정보를 확인한다.
아래 명령어를 활용하여 데이터를 주입(Import) 한다.
$ mysql -uroot -p********** -h************* < employees.sql ...
11.2.3. Local PC와 Cloud Z DB 간 Network 지연이 발생하거나 도구를 이용한 접속이 불가능한 경우
컨테이너에 직접 파일을 업로드 후 접속해서 Import 가능합니다.
Import 데이터 sql을 컨테이너에 복사합니다.
$ kubectl cp ./backup.sql {NAMESPACE명}/{MASTER_DB_POD명}:bitnami/mariadb/backup/backup.sql
DB 컨테이너에 접속합니다.
$ kubectl exec {MASTER_DB_POD명} -n {NAMESPACE명} -it bash
DB 컨테이너 안에서 mysql을 이용해 Data Import 합니다.
$ cd /bitnami/mariadb/backup $ mysql -uroot -p{ROOT_PASSWORD} -p {DATABASE명} < ./backup.sql
11.3. 마이그레이션 데이터 확인 방법
기존 사용중인 MariaDB와 아래 결과를 확인합니다.
테이블 리스트 및 raw 수 확인
MariaDB [(none)]> SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE, TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA not in ('information_schema', 'mysql', 'performance_schema') +--------------+-------------------+--------+------------+ | TABLE_SCHEMA | TABLE_NAME | ENGINE | TABLE_ROWS | +--------------+-------------------+--------+------------+ | zdb | backup_entity | InnoDB | 262 | | zdb | disk_usage | InnoDB | 13 | | zdb | event_meta_data | InnoDB | 1737 | | zdb | meta_data | InnoDB | 157 | | zdb | mycnf | InnoDB | 38 | | zdb | release_meta_data | InnoDB | 57 | ...
데이터베이스별 용량 확인 (Storage 저장 엔진과 OS 환경에 따라서 상이 할 수 있습니다. )
MariaDB [(none)]> SELECT table_schema "DB Name", ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" -> FROM information_schema.tables -> WHERE TABLE_SCHEMA not in ('information_schema', 'mysql', 'performance_schema' ) -> GROUP BY table_schema; +---------+---------------+ | DB Name | DB Size in MB | +---------+---------------+ | zdb | 12.9 | ...