programing

mysql에서 mariadb로 mysqdump - 데이터베이스 크기 차이

yellowcard 2023. 9. 2. 08:10
반응형

mysql에서 mariadb로 mysqdump - 데이터베이스 크기 차이

나는 mysql에서 mariadb로 전환하기를 원했고, 그렇게 하기 위해 나는 이전 데이터베이스를 내보내고 그것들을 새로운 mariadb 서버로 가져오는데, 이제 나는 새로운 가져온 데이터베이스가 원래 데이터베이스보다 작다는 문제를 가지고 있습니다.

다음을 수행했습니다.

  1. mysqldump(mysqdump --all-dump --user=root --password --master-data > backup database)에서 mysqdump로 백업을 만들었습니다.sql)

  2. 새 maridb-server(mysql -u root -p < 백업 데이터베이스)로 가져왔습니다.sql)

데이터베이스의 크기를 확인하려면 다음을 확인합니다.

원본 mysql-server에서:

mysql> SELECT table_schema "데이터베이스", sum(data_length + index_length)/1024/1024 "size information_schema" FROM.TABLES 그룹화 기준 table_schema;

데이터베이스 | 크기(MB) |

DB-1 | 0.40625000

DB-2 | 4.09375000 |

DB-3 | 506.60937500 |

세트 내 6개 행(0.90초)

만약 내가 지금 maraidb 호스트에서 같은 일을 한다면,

MariaDB [(없음)]> select table_schema "데이터베이스", sum(data_length + index_length)/1024/1024 "size information_schema" FROM.TABLES 그룹화 기준 table_schema;

데이터베이스 | 크기(MB) |

DB-1 | 0.39062500 |

DB-2 | 3.01125000 |

DB-3 | 416.39062500 |

세트 내 6개 행(0.09초)

그 차이는 어디에서 오는 것입니까?이게 제 실패인가요?

InnoDB 및 MySIAM(사용 중인 엔진 중 하나)용 MySQL 및 MariaDB 스토리지는 동일합니다.뿐만 아니라 MySQL 위에 Stump를 통해 MariaDB를 설치할 수 있으며 동일한 파일 데이터베이스에서 작동합니다.

문제는 테이블을 처음부터 만들고 모든 행을 삽입할 때 단편화나 공간 낭비 등이 발생하지 않기 때문일 가능성이 높습니다.활성 서버가 있는 경우 행을 삭제하면 데이터가 다소 단편화되고, "빈" 공간까지 저장하여 OS(InnoDB)에 반환하지 않는 경우도 있습니다.

이렇게 해보고 MySQL에 DB1-test로 새 데이터베이스를 만들고 덤프를 가져온 다음 DB1-test 크기와 MariaDB-DB1을 비교하면 일치해야 합니다.

MySQL Server에서 Yor Table이 최적화되지 않았습니다.그래서 MySQL은 사용하지 않은 디스크 공간을 무료로 제공합니다.자유롭게 할 수 있는 유일한 방법은 테이블을 삭제하고 만드는 것입니다.이것이 최적화 작업입니다.또 다른 방법은 "테이블당 파일 하나" 옵션입니다.MySQL use on file per Table을 설정하고 Optimize를 사용하여 디스크 공간을 확보할 수 있다면 큰 파일은 하나뿐입니다.

언급URL : https://stackoverflow.com/questions/33354062/mysqldump-from-mysql-to-mariadb-database-size-diffrence

반응형