programing

MariaDB - 온라인 이동/보관 테이블

css3 2023. 10. 17. 20:27

MariaDB - 온라인 이동/보관 테이블

MySQL의 Syslog 테이블을 "회전"/보관하는 스크립트가 있습니다.이 스크립트:

  • Linux 수준에서 "My ISAM" 테이블 파일의 이름을 바꾼 다음 압축합니다.
  • MySQL에서 테이블 이름을 바꿉니다.

두 단계는 "온라인"입니다.MySQLd를 재시작할 필요가 없습니다.

이제 마리아DB(Debian Stretch)에 새로운 Syslog 데이터베이스를 구축했습니다.테이블은 My ISAM이 아닌 InnoDB를 사용하고 있습니다.이 스크립트는 파일을 이동한 후 MySQL 내부의 테이블 이름을 변경하는 두 번째 실행에서 실패합니다.

에러 1050 (42S01):'SystemEvents_1' 테이블이 이미 있습니다.

테이블의 참조는 어딘가에 보관됩니다(테이블스페이스 내부 시스템 테이블?).그렇게 하는 걸 막을 수 있을 겁니다

질문: transactional=0으로 테이블을 ARIA 엔진으로 마이그레이션하면 작동합니까?

고마워, 빈스

더 이상은 불가능하다고 생각합니다.제 테이블을 MyISAM(그리고 트랜잭션=0의 아리아)으로 변환했는데 같은 오류 메시지가 나왔습니다.파일 시스템 파일 이름을 직접 바꾸는 대신 내 sqldump를 사용하여 테이블을 내보내는 것이 가장 좋은 방법이라고 생각합니다.편리성은 떨어지지만 선택한 엔진에 상관없이 항상 내 sqdump가 작동합니다.

언급URL : https://stackoverflow.com/questions/47560186/mariadb-online-move-archive-tables