본문 바로가기
DATABASE/DB install & upgrade

CentOS7 Mysql5.7 install (폐쇄망, internet X)

by 개폰지밥 2021. 12. 17.
반응형

 

목차

1. System Structure
2. 인터넷 되는 서버 작업
  2.1 mysql 설치
  2.2 관련 패키지 설치
  2.3 mysql repo 생성
  2.4 Mysql 관련된 패키지 설치
  2.5 repo 구성
3. 인터넷 안되는 폐쇠망 서버 작업
  3.1 파일 업로드
  3.2 mysql server 설치
  3.3 관련 에러 해결
  3.4 mysql server 시작
  3.5 mysql5.7 패스워드 변경

 

내용

1. System Structure

폐쇄망, 인터넷x 서버에서 mysql을 설치하기 위해서는, 먼저 인터넷이 되는 서버에서 선행 작업이 필요합니다.

인터넷이 되는 서버에는 1. mysql 설치 2. mysql repo 생성

인터넷이 안되는 폐쇄망 서버에서 위의 mysql repo를 이용하여 mysql server를 설치하면 됩니다.

(이 방법은 Mysql뿐만 아니라 다른 패키지 설치에도 적용이 가능합니다. 저도 이와 비슷한 방법으로 Local yum repository도 해보았습니다.)

 

2. 인터넷되는 서버

2.1 Mysql5.7 설치

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm --no-check-certificate
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-server

2.2 관련 패키지 설치 yum-utils, createrepo 등

sudo yum install yum-utils createrepo

 

2.3 Repository 생성

l  /var/tmp/mysql: RPM 다운로드 공간

l  /var/tmp/mysql-installroot: 설치 임시 공간

mkdir /var/tmp/mysql
mkdir /var/tmp/mysql-installroot

 2.4 Mysql 관련된 패키지 설치

yum install --downloadonly --installroot=/var/tmp/mysql-installroot --releasever=7 --downloaddir=/var/tmp/mysql mysql-server

releasever에는 자신의 CentOS 버전을 적어준다.

(참고) CentOS 버전확인

cat /etc/redhat-release

(참고) tree라는 명령어로 /var/tmp/mysql-installroot 디렉토리 구조를 살펴보면 아래와 같다.

tree /var/tmp-mysql-installroot

2.5 repo 구성

createrepo --database /var/tmp/mysql

vi /etc/yum.repo.d/offline-mysql.repo

[offline-mysql]
name=CentOS-7-mysql
baseurl=file:///var/tmp/mysql
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

(참고) tree라는 명령어로 /var/tmp/mysql 을 확인해보았다.

아래와 같이 mysql과 관련된 rpm들과 repodata가 저장된 것을 확인할 수 있다.

생략

 

repoclosure --repoid=offline-mysql            --의존성 확인 방법

 

마지막으로 임시 설치 공간을 삭제해준다.

rm -rf /var/tmp/mysql-installroot   -- 임시 설치 공간 삭제

 

3. 폐쇄망, 인터넷x 서버

다음은 폐쇄망, 인터넷x 안되는 서버로 이동합니다. 참고로 Yum local repository를 되어있는 상태입니다.

Yum local repository 방법이 궁금하신 분들은 아래 참고해주세요.

https://seul96.tistory.com/343

 

[CentOS 7.8] local yum repository 구성 (폐쇄망x, 인터넷x)

폐쇄망에 인터넷 사용이 안되고 Local YUM Repository를 구현해보았습니다. -  Virtualbox 가상 서버 스펙 HDD 크기는 60GB, 메모리는 4086MB로 했습니다. 설치 예정 : JAVA, DB(Mysql 5.7), WAS(Tomcat), WEB(Ap..

seul96.tistory.com

3.1 폐쇄망 서버의 동일한 경로에 아래 두 폴더와 파일 업로드(파일질라를 사용함.)

1. /var/tmp/mysql

2. /etc/yum.repo.d/offline-mysql.repo

3.2 mysql server 설치

yum install --disablerepo=\* --enablerepo=offline-mysql mysql-server

동일한 버전[7.8(인터넷되는 서버) -> 7.8(폐쇄망)]에서 설치했어도 아래와 같이 dependency(의존성) 에러가 발생할 수 있다.

3.3 관련 에러

Error: Package: 2:postfix-2.10.1-9.el7.x86_64 (@anaconda)
           Requires: libmysqlclient.so.18(libmysqlclient_18)(64bit)
           Removing: 1:mariadb-libs-5.5.65-1.el7.x86_64 (@anaconda)
               libmysqlclient.so.18(libmysqlclient_18)(64bit)
           Obsoleted By: mysql-community-libs-5.7.36-1.el7.x86_64 (offline-mysql)
               Not found
Error: Package: 2:postfix-2.10.1-9.el7.x86_64 (@anaconda)
           Requires: libmysqlclient.so.18()(64bit)
           Removing: 1:mariadb-libs-5.5.65-1.el7.x86_64 (@anaconda)
               libmysqlclient.so.18()(64bit)
           Obsoleted By: mysql-community-libs-5.7.36-1.el7.x86_64 (offline-mysql)
              ~libmysqlclient.so.20()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

 

에러 해결)

yum remove mariadb-libs-5.5.65-1.el7.x86_64

위와 같이 dependency(의존성) 에러가 발생하면 지금처럼 해결해나간다.

의존성 에러를 해결하다보면 아래와 같이 mysql-server가 최종 설치된다.

yum install --disablerepo=\* --enablerepo=offline-mysql mysql-server

3.4 mysql server 시작

systemctl start mysqld
systemctl status mysqld   --mysql 상태 확인

3.5 mysql5.7 패스워드 변경

mysql 5.7와 같은 경우는 보안 때문에 반드시 임시패스워드를 변경해야만 사용할 수 있다.

3.5.1 임시패스워드 추출

awk '/temporary password/{print $11}' /var/log/mysqld.log

3.5.2 mysql 시작 및 패스워드 변경

-- mysql 접속
mysql -uroot -p
-- password 변경을 위해 임시패스워드 입력
SET PASSWORD = PASSWORD('임시패스워드’);
-- mysql 5.7 password 정책 삭제
uninstall plugin validate_password;
-- 패스워드 변경
update mysql.user set authentication_string=password('변경할패스워드') where user='root';
-- 적용
FLUSH PRIVILEGES;

임시 패스워드를 바꾸면 아래와 같이 잘 동작하는 것을 확인할 수 있다.

 

☞ 더 많은 인프라 구축 방법(폐쇄망)을 보고 싶으면 아래 링크를 클릭해주세요.

2021.12.13 - [Linux] - CentOS 7.8 설치 및 putty 접속 (원하는 버전 설치 링크 포함)

2021.12.14 - [Linux] - [CentOS 7.8] local yum repository 구성 (폐쇄망x, 인터넷x)

2021.12.17 - [DATABASE/DB install & upgrade] - CentOS7 Mysql5.7 install (폐쇄망, internet X)

2021.12.22 - [WEB|WAS] - [CentOS7] Apache 설치 (폐쇄망, 인터넷X, Local yum repo)

2021.12.23 - [WEB|WAS] - Apache - Tomcat 연동 (물리적 분리 - 외부망 : WEB, 내부망 : WAS)

2021.12.24 - [Security] - [CentOS7] SSL 설치 및 SSL 적용

2022.01.27 - [WEB|WAS] - Apache, Tomcat tuning

2022.03.16 - [DATABASE] - Mysql, MariaDB PASSWORD Lifetime 설정(만료기간)

반응형

댓글