CentOS 7에서 MySQL 설치 시 libssl.so.10 의존성 오류 해결 방법

문제의 근본 원인

CentOS 7 기본 OpenSSL 버전은 1.1.1입니다. 그러나 MySQL 8.0.27 이하 el7 버전은 OpenSSL 1.0.2가 제공하는 libssl.so.10libcrypto.so.10 라이브러리를 필수로 요구합니다. 따라서 심볼릭 링크로는 해결할 수 없으며, 해당 OpenSSL 버전을 직접 설치해야 합니다.

오프라인 환경을 포함한 완전한 해결 프로세스

1. 의존 패키지 준비 (순서대로 설치 필수)

CentOS 7.9.2009 공식 저장소에서 다음 두 패키지를 다운로드합니다.

  • openssl-libs-1.0.2k-19.el7.x86_64.rpm - libssl.so.10/libcrypto.so.10을 포함한 핵심 라이브러리
  • openssl-1.0.2k-19.el7.x86_64.rpm - 메인 프로그램 패키지

2. 의존 패키지 설치 (버전 충돌 해결)


# libs 패키지를 먼저 설치해야 함
sudo rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --nodeps --force

# 그 다음 openssl 메인 프로그램 설치
sudo rpm -ivh openssl-1.0.2k-19.el7.x86_64.rpm --nodeps --force

3. 설치 확인


ls -l /usr/lib64/libssl.so.10 /usr/lib64/libcrypto.so.10

출력에 파일 경로가 표시되면 정상적으로 설치된 것입니다.

4. 호환 가능한 MySQL 버전 설치 (8.0.28 이상 권장)


# 압축 해제
tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar

# 모든 RPM 패키지 일괄 설치 (의존성 검사 생략)
sudo rpm -ivh mysql-community-*.rpm --nodeps --force

5. MySQL 초기화 및 실행


# 데이터 디렉토리 초기화 (기존 데이터 충돌 방지)
sudo rm -rf /var/lib/mysql

# 초기화 (임시 비밀번호 자동 생성)
sudo mysqld --initialize --user=mysql --datadir=/var/lib/mysql

# 권한 수정
sudo chown -R mysql:mysql /var/lib/mysql

# 서비스 시작 및 부팅 시 자동 실행 설정
sudo systemctl start mysqld
sudo systemctl enable mysqld

6. 로그인 및 비밀번호 변경


# 임시 비밀번호 확인
sudo grep 'temporary password' /var/log/mysqld.log

# MySQL 로그인
mysql -uroot -p

# root 비밀번호 변경 (대소문자, 숫자, 특수문자 포함 필수)
ALTER USER 'root'@'localhost' IDENTIFIED BY '새로운_강력한_비밀번호';

중요 주의사항

문제점 잘못된 방법 올바른 방법
의존성 설치 순서 openssl 메인 패키지를 먼저 설치 openssl-libs를 먼저 설치한 후 메인 패키지 설치
심볼릭 링크 사용 OpenSSL 1.1 라이브러리를 libssl.so.10으로 링크 심볼릭 링크는 버전 검사를 통과하지 못하므로 1.0.2 버전 직접 설치 필수
MySQL 버전 선택 MySQL 8.0.27 이하 버전 설치 MySQL 8.0.28+ 버전이 OpenSSL과 호환성이 더 좋음
권한 설정 누락 /var/lib/mysql 디렉토리의 소유자 변경 생략 초기화 후 반드시 chown -R mysql:mysql /var/lib/mysql 실행

태그: CentOS 7 MySQL OpenSSL libssl.so.10 rpm

6월 11일 21:04에 게시됨