mysql 5.5로 롤백할 수 있는 방법이 있습니까? 현재 pkg를 통해 5.6.47이 설치되어 있습니다.
현재 버전을 제거하려고 시도했지만 성공하지 못했습니다. 기본적으로 freebsd 시스템을 재구성하지 않고 mysql 5.5의 모든 버전으로 이동하는 방법을 알고 계십니까?
root@ServerfilesPoject16:~ # pkg delete mysql55-client-5.6.47
No packages matched for pattern 'mysql55-client-5.6.47'
답변1
경고하다!여기 용이 있어요!
기계를 "재구성"하는 것이 무엇을 의미하는지 명확하지 않습니다. 기본 FreeBSD 설치를 변경할 필요가 없습니다. 그러나 이러한 패키지가 충돌하므로 컴퓨터를 변경해야 합니다.
당신이 보면프레쉬포트충돌을 볼 수 있습니다.
CONFLICTS_INSTALL:
mysql5[0-46-9]-client-*
mariadb*-client-*
percona*-client-*
일반적인 작업에서는 필요한 패키지 설치를 요청하면 이러한 충돌에 대해 경고하고 패키지를 제거하겠다고 제안합니다.
pkg install mysql55-client
그런 다음 삭제 기능을 제공해야 합니다 mysql56-client
.
이는 귀하가 버전 번호에 대해 혼동하고 있다고 믿게 만듭니다.
버전 5.5와 5.6은 서로 다른 패키지입니다.
- mysql55-클라이언트현재 버전은 5.5.62_3입니다.
- mysql56-클라이언트현재 버전은 5.6.51입니다.
당신은 mysql55-client-5.6.47
. 내 생각에는 당신이 가지고 있을 가능성이 더 높다고 생각합니다 mysql56-client-5.6.47
.
다음 명령을 사용하면 시스템에 실제로 설치된 내용을 확인할 수 있습니다.
pkg info
따라서 애플리케이션 관점에서 보면 서로 다른 버전을 설치하고 충돌을 처리하는 것은 매우 낭비적입니다. 시간이 지남에 따라 더 이상 필요하지 않은 종속성이 많은 애플리케이션을 설치한 경우 다음 명령을 사용하여 해당 애플리케이션을 제거할 수 있습니다.
pkg autoremove
다음 매뉴얼 페이지를 읽어보십시오.포장(8). 패키지 관리 방법에 대한 많은 튜토리얼이 있습니다.
Mysql 클라이언트를 사용하는 상황은 간단하고, 간단한 클라이언트이기 때문에 앞뒤로 쉽게 교체할 수 있습니다.
그러나 MySQL 서버도 가지고 있다면 상황이 까다로울 수 있습니다. 이론적으로 서버 응용 프로그램도 쉽게 교체할 수 있습니다. 하지만 이것은 데이터베이스 서버이고, 그런 것들은... 데이터를 가지고 있습니다.
따라서 애플리케이션을 쉽게 롤백할 수 있습니다. 그러나 데이터는 전적으로 애플리케이션에 따라 달라집니다. 데이터베이스의 버전 번호를 전환하면 일반적으로 디스크의 데이터 구조가 업데이트됩니다. 데이터가 업데이트된 경우 이전 버전이 올바르게 처리되지 않을 수 있습니다. 일반적인 롤백은 백업을 복원하는 것입니다. 그러나 이것은 응용 프로그램에 의해 결정됩니다.
이러한 유형의 백업을 수행하는 방법에는 여러 가지가 있습니다. 특히 데이터베이스의 경우.
그러나 FreeBSD에는 여러분을 도울 수 있는 중요한 도구가 하나 있습니다. 당신이 사용하는 경우ZFS파일 시스템이라면 할 수 있습니다스냅 사진. 업그레이드하기 전에 스냅샷을 생성한 경우 해당 스냅샷으로 되돌려 즉시 롤백을 수행할 수 있습니다. 그런 다음 업그레이드(및 롤백)를 여러 번 시도할 수 있습니다. 그러나 업그레이드하기 전에 스냅샷을 찍어야 합니다.
스냅샷 프로세스는 매우 빠릅니다. 그러나 안전을 위해서는 mysql이 FLUSH TABLES WITH READ LOCK
. 그 다음에 UNLOCK TABLES
. 바라보다이 답변그리고이 설명
mysql << EOF
FLUSH TABLES WITH READ LOCK;
system zfs snapshot data/db@snapname
UNLOCK TABLES;
EOF