안전하게 안전하게 설치하는 방법
항상 까다로울 것입니다.
작업을 수행하기 전에 5.5 / 5.6 호환성 페이지를 읽으십시오 . 2의 마음 1 큰 차이 :
MySQL 5.6.6부터 여러 MySQL 서버 매개 변수의 기본값이 이전 릴리스와 다릅니다. 이러한 변경의 동기는 즉시 사용 가능한 성능을 향상시키고 데이터베이스 관리자가 설정을 수동으로 변경할 필요성을 줄이는 것입니다. 이러한 변경 사항은 피드백을받을 때 향후 릴리스에서 수정 될 수 있습니다.
큰 변화 중 하나는 5.5가 하나의 큰 파일을 트랜잭션 로그로 사용하고 5.6은 몇 가지를 사용한다는 것입니다.
따라서 기존 MySQL 설치를 업그레이드하는 경우 이러한 매개 변수의 값을 이전 기본값에서 아직 변경하지 않았으며 이전 버전과의 호환성이 문제가되는 경우 이러한 매개 변수를 이전 기본값으로 명시 적으로 설정하고자 할 수 있습니다. 예를 들어, 다음 행을 서버 옵션 파일에 넣으십시오.
[mysqld]
innodb_file_per_table=0
innodb_checksum_algorithm=INNODB
binlog_checksum=NONE
복제를 사용하는 경우 링크의이 부분에주의하십시오.
복제에 사용되는 서버를 업그레이드하려면 먼저 슬레이브를 업그레이드 한 다음 마스터를 업그레이드하십시오. 모두 동일한 동일한 explicit_defaults_for_timestamp 값을 사용하는 경우 마스터와 슬레이브 간의 복제가 작동해야합니다.
슬레이브를 중단하고 업그레이드 한 후 원하는 explicit_defaults_for_timestamp 값으로 구성하고 다시 가져옵니다.
슬레이브는 마스터가 수신 한 이진 로그 형식에서 마스터가 이전 버전이고 (explicit_defaults_for_timestamp가 도입되기 전에) 마스터에서 오는 TIMESTAMP 열에 대한 작업이 이전 TIMESTAMP 동작을 사용한다는 것을 인식합니다.
마스터를 중단하고 업그레이드 한 후 슬레이브에 사용 된 것과 동일한 explicit_defaults_for_timestamp 값으로 구성한 후 다시 가져 오십시오.
이것이 프로덕션 서버 인 경우 먼저 테스트 머신에서 시도해 보는 것이 좋습니다. 5.5에서 5.6으로의 전환이 다소 어려웠으며 5.6과 함께 설치된 다른 머신을 설치하고 mysldump를 사용하여 백업을 생성하고 해당 머신의 데이터베이스에로드하도록 선택했습니다. 큰 데이터베이스가있는 경우 (innodb 트랜잭션 파일의 재생성으로 인해) 오랜 시간이 걸릴 것입니다.
일반적인 방법 :
- mysqldump를 사용하여 데이터베이스 (사용자, 트러블 구조 및 테이블 데이터)와 구성 파일 (아마도 /etc/mysql/my.cnf)의 백업을 만듭니다.
- 5.5를 제거하십시오. 5.5를 제거한 후 innodb 트랜잭션 파일 (ibdata1, ib_logfile0 및 ib_logfile1)이 없어 졌는지 확인하십시오. 5.6이 더 나은 버전의 거래를 사용함에 따라 나는 이것을 사용할 것이라고 가정합니다 ...
- 5.6 설치
- 새 구성 파일을 변경하고 5.5에 대해 변경 한 내용을 추가하십시오 (위의 링크를 생각하고 변경 사항이 유효하지 않은지 확인하십시오).
- 백업을 5.6 (사용자 우선)에 업로드하십시오. 새 트랜잭션 파일을 다시 작성하므로 시간이 조금 걸릴 수 있습니다.
명령에서 (백업 후) :
sudo apt-get remove mysql-server
sudo apt-get autoremove
sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
sudo apt-get install mysql-server-5.6
sudo apt-get remove mysql-server;sudo apt-get autoremove;sudo apt-get install mysql-client-5.6 mysql-client-core-5.6;sudo apt-get install mysql-server-5.6