1. binary 설치를 선호하는 이유
mysql 을 yum 업데이트나 apt-get 으로 설치하면 다량의 서버를 일괄 업데이트나 관리하기 편하긴 하지만
폴더 경로 등을 마음대로 수정하기 어렵다.
예를 들어 SAS 디스크를 사용하는 DB의 성능 향상을 위해
디스크를 SSD나 nvme 로 업그레이드를 검토했을 때
yum이나 apt-get으로 설치했다면 OS를 재설치해서 파티션를 새롭게 잡아야 한다.
하지만 binary로 설치하면 디스크 파티션을 새로 추가하고
DB는 데이터 폴더만 옮기면 바로 OPEN할 수 있으므로
관리적인 이점이 있는 binary 설치를 선호한다.
(물론 좀 더 나은 성능향상을 위해선 SSD 특성에 맞는 시스템 파라미터 튜닝을 추가로 더 해주면 좋다)
다만 binary파일로 설치한다면 추가적으로 고려해야 할 것이 1가지 있는데
OS 버전에 맞는 것을 직접 찾아서 설치해야만 한다.
mysql은 C++로 만들어진 프로그램이다.
glibc의 버전에 맞는 mysql version을 찾아야 한다.
1.1 glibc 버전 확인방법
getconf -a | grep libc
[root@admin]# getconf -a | grep libc
GNU_LIBC_VERSION glibc 2.12
2. OS 버전별 mysql 설치파일 정리 (glibc 버전 맞춤)
OS | glibc version | mysql version |
RHEL 9.2 | glibc 2.34 | |
RHEL 8.7/CentOS 8/Rocky linux 8.7 | glibc 2.28 | mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz |
RHEL 7.9 / CentOS 7 | glibc 2.17 | mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz |
RHEL 6.9 / CentOS 6 | glibc 2.12 | mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz mysql-5.7.42-linux-glibc2.12-x86_64.tar.gz mysql-8.0.34-linux-glibc2.12-x86_64.tar.xz |
glibc 란?
GNU C library는 C 또는 C++ 언어로 작성된 프로그램에서 직접 사용하는 많은 저수준 구성 요소를 제공합니다.
많은 프로그래밍 언어는 C#, Java, Perl, Python 및 Ruby를 포함하여 간접적으로 GNU C 라이브러리를 사용합니다
(해당 언어에 대한 인터프리터, VM 또는 컴파일된 코드는 glibc를 직접 사용함)
2.1 mysql 최신 설치 파일 download 경로 -> https://dev.mysql.com/downloads/mysql/
2.2 mysql 이전 설치 파일 download 경로 -> https://downloads.mysql.com/archives/community/
3. glibc 버전에 맞지 않게 설치하면?
상위버전은 하위버전을 호환한다. 보통은 그렇지만
linux OS에 커널 및 C++ 컴파일과 연관된 libc 를 맞지 않게 사용하면
경험상 시스템 안전성을 장담할 수 없다.
glibc가 파일 하나만 달랑 버전이 올라가서 끝나는 게 아니고 의존 패키지 파일이 전부 영향을 미친다.
ex) libc.so.6, libstdc++등등..
4.결론
개발자나 DBA로 지금까지 평탄한 삶을 살았는데
굳이 인생에 굴곡을 한번 주고 싶으면
OS 버전과 다른 걸 설치해보는 것도…