상세 컨텐츠

본문 제목

MySQL 설치 (CentOS)

IT/리눅스

2020. 11. 18. 14:39

본문

 

- CentOS 7 MySQL 설치 가이드

 

1. MySQL Yum Repository 추가

먼저 시스템의 Repository list에 MySQL Yum Repository를 추가합니다. 이 단계를 따르세요:

 

a. https://dev.mysql.com/downloads/repo/yum/의 MySQL Yum Repository 다운로드 페이지로 이동합니다.

b. 설치 대상 플랫폼에 해당하는 release package를 선택하고 다운로드하십시오.

c. 다음 명령을 실행시켜 package를 설치합니다.(platform-and-version-specific-package-name을 다운로드 한 release package name으로 변경)

shell> sudo rpm -Uvh platform-and-version-specific-package-name.rpm

예를 들어, el7 기반 시스템 용 패키지 version 3의 경우 명령은 다음과 같습니다:

shell> sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

 

2. Release Series 선택

MySQL Yum Repository를 사용할 때 MySQL의 최신 GA(General Available) Release가 기본적으로 설치되도록 선택됩니다. 최신 버전을 설치하고자 할 경우에는 이번 단계는 넘어가셔도 됩니다.

 

MySQL Yum Repository ( https://repo.mysql.com/yum/ ) 내에서 MySQL Community Server의 여러 Release Series가 서로 다른 하위 Repository 에서 호스팅됩니다. 최신 GA Series (현재 MySQL 8.0)의 하위 Repository는 기본적으로 활성화되어 있으며 다른 모든 Series (예 : MySQL 5.7 Series)의 하위 Repository는 기본적으로 비활성화되어 있습니다. 이 명령을 사용하여 MySQL Yum Repository의 모든 하위 Repository를 보고 활성화 또는 비활성화 된 하위 Repository를 확인합니다:

shell> yum repolist all | grep mysql

 

최신 GA Series의 최신 Release를 설치하려면 구성이 필요하지 않습니다. 최신 GA Series가 아닌 특정 Series의 최신 Release를 설치하려면 설치 명령을 실행하기 전에 최신 GA Series의 하위 Repository를 비활성화하고 특정 Series의 하위 Repository를 활성화합니다. 플랫폼이 yum-config-manager 또는 dnf config-manager 명령을 지원하는 경우 이 명령을 실행하여 특정 Series의 하위 Repository를 비활성화하거나 활성화 할 수 있습니다. 예를 들어 다음 명령은 8.0 Series의 하위 Repository를 비활성화하고 5.7 Series의 하위 Repository를 활성화 합니다 :

shell> sudo yum-config-manager --disable mysql80-community
shell> sudo yum-config-manager --enable mysql57-community

 

yum-config-manager 또는 dnf config-manager 명령을 사용하는 것 외에도 /etc/yum.repos.d/mysql-community.repo 파일을 수동으로 편집하여 Series를 선택할 수도 있습니다. 다음은 파일에서 Release Series의 하위 Repository에 대한 일반적인 항목입니다.

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

 

구성 할 하위 Repository에 대한 항목을 찾고 enabled 옵션을 편집합니다 . 하위 Repository를 비활성화하려면 enabled 항목의 값을 0으로 활성화하려면 1로 설정합니다. 예를 들어 MySQL 5.7을 설치하려면 [mysql57-community]enabled 항목의 값을 1로 나머지 하위 Repository에 대해 enabled 항목의 값을 0으로 변경합니다.

# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

 

한 번에 하나의 Release Series에 대해서만 하위 Repository를 활성화해야합니다. 둘 이상의 Release Series에 대한 하위 Repository가 활성화되면 Yum에서 최신 Series를 사용합니다.

다음 명령을 실행하여 올바른 하위 Repository가 활성화되었는지 확인합니다.

shell> yum repolist enabled | grep mysql

 

3. 기본 MySQL 모듈 비활성화

(EL8 시스템 만 해당) RHEL8 및 Oracle Linux 8과 같은 EL8 기반 시스템에는 기본적으로 활성화 된 MySQL 모듈이 포함되어 있습니다. 이 모듈이 비활성화되어 있지 않으면 MySQL Repository에서 제공하는 패키지를 마스킹합니다. 포함 된 모듈을 비활성화하고 MySQL 리포지토리 패키지를 표시하려면 다음 명령을 사용하십시오:

shell> sudo yum module disable mysql

 

4. MySQL 설치

다음 명령으로 MySQL을 설치합니다:

shell> sudo yum install mysql-community-server

 

MySQL Server Package와 기타 필수 Package가 같이 설치 됩니다.

 

5. MySQL Server 시작

다음 명령을 실행하여 MySQL Server를 시작합니다:

shell> sudo service mysqld start

 

EL7 및 EL8 기반 플랫폼의 경우 다음 명령을 실행하여 MySQL Server를 시작합니다:

shell> sudo systemctl start mysqld.service

 

다음 명령을 실행하여 MySQL Server의 상태를 확인할 수 있습니다:

shell> sudo service mysqld status

 

EL7 및 EL8 기반 플랫폼의 경우 다음 명령을 실행하여 MySQL Server의 상태를 확인할 수 있습니다:

shell> sudo systemctl status mysqld.service

 

MySQL Server 초기화 (MySQL 5.7부터) : 서버를 처음 시작할 때 서버의 data directory가 비어있는 경우 다음이 발생합니다:

· 서버가 초기화됩니다.

· SSL certificate 및 key file이 data directory에 생성됩니다.

· validate_password 플러그인을 설치하고 사용할 수 있습니다.

· superuser 계정 'root'@'localhost' 이 생성됩니다. superuser의 초기 임시 비밀번호가 설정되어 log 파일에 저장됩니다.

 

다음 명령을 실행하여 초기 설정된 superuser 계정의 임시 비밀번호를 확인할 수 있습니다:

shell> sudo grep 'temporary password' /var/log/mysqld.log

 

다음 명령을 실행하여 root 계정으로 MySQL Server에 접속합니다:(비밀번호는 위에서 확인한 temporary password 값을 입력):

shell> mysql -u root -p

 

MySQL Server에 접속한 다음 다음 명령을 실행하여 root 계정의 비밀번호를 변경합니다.(MyNewPass4!는 사용할 비밀번호로 입력):

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

관련글 더보기