VillageSQL is a drop-in replacement for MySQL with extensions.
All examples on this page work on VillageSQL. Install Now →
This guide is AI-generated content. We tested every command in it against a live server before publishing, but your mileage may vary. Do your own extensive testing before you run any of this against a production system.
8.4에서 바뀌는 것
업그레이드는 제자리에서 이루어집니다: 8.0 데이터 디렉터리 위에 8.4 바이너리를 설치하면 서버가 첫 시작 시 데이터 딕셔너리를 스스로 업그레이드합니다. 대부분의 스키마와 쿼리는 손대지 않고 넘어갑니다. 실제로 문제가 되는 변경:1단계: 옛 인증 플러그인을 사용하는 계정 찾기
업그레이드하기 전에, 아직mysql_native_password를 사용하는 모든 계정을 나열하세요:
caching_sha2_password로 마이그레이션하고 애플리케이션에 저장된 비밀번호를 갱신하세요:
--mysql-native-password=ON을 넣어 플러그인을 명시적으로 로드할 수 있습니다. 그것을 목적지가 아니라 다리로 취급하세요: 플러그인은 사용 중단되었고 제거가 예정되어 있습니다.
2단계: 구성 파일 정리하기
MySQL 8.4는 8.0에서 사용 중단된 시스템 변수를 제거합니다.my.cnf가 그중 하나를 설정하면, 8.4 서버는 알 수 없는 변수 오류와 함께 시작을 거부합니다. 가장 흔한 두 가지:
expire_logs_days를 binlog_expire_logs_seconds로 바꾸고, default_authentication_plugin을 삭제하세요(8.4의 대체 변수 authentication_policy는 이미 caching_sha2_password를 기본값으로 합니다). 설정한 모든 변수를 구성에서 grep하고, 중단 시간 동안이 아니라 업그레이드 전에 각각을 8.4 참조 문서와 대조하세요.
3단계: 제거된 구문이 스키마에 있는지 확인하기
모든 데이터베이스에 대해mysqlcheck를 실행하고 출력을 검토하세요:
AUTO_INCREMENT와 비표준 외래 키 제약 조건에 특히 주의하세요. 둘 다 8.4에서 제거되었습니다.
4단계: 백업한 다음 제자리에서 업그레이드하기
8.4에서 8.0으로의 지원되는 제자리 다운그레이드는 없습니다. 데이터 딕셔너리가 업그레이드되면, 되돌아가는 유일한 방법은 백업을 복원하는 것입니다. 그러니 백업은 형식적인 절차가 아닙니다:VillageSQL 관점
VillageSQL Server는 MySQL 8.4의 드롭인 대체품입니다. 8.4에 올라서면, 스택에서 MySQL 8.4와 동작하는 모든 것이 VillageSQL과도 동작하며, 나중에 전환하는 것은 기능적으로 같은 데이터 디렉터리에서의 마이너 버전 교체입니다. 확장 프레임워크에 관심이 있다면, 어차피 하고 있는 8.4 업그레이드가 진입로입니다. 그 절차는 VillageSQL로 업그레이드하기를 보세요.함께 보기
- VillageSQL로 업그레이드하기 — 8.4에 올라선 뒤의 드롭인 교체
- 백업 전략 — 이 업그레이드가 의존하는 백업
- 흔한 MySQL 오류 — 실패한 업그레이드가 만드는 오류 해독하기