반응형

CentOS 8에서 mysql 5.5.40 버전을 설치 하고 싶었지만 정상적으로 설치가 되지 않아 5.7로 설치 후 정상 동작하는 모습을 확인했습니다.

 

Mysql 특정 버전 설치하기(5.7.28)

먼저 진행하시는 계정에 sudo 권한이 필요합니다.

CentOS에서 yum install을 통해 설치하시면 mysql 8.0이 설치됩니다. 별도로 다운로드 후 진행하셔야합니다.

mysql archive 사이트에 접속합니다.

 

URL : https://downloads.mysql.com/archives/community/downloads.mysql.com/archive

 

MySQL :: Download MySQL Community Server (Archived Versions)

Please note that these are old versions. New releases will have recent bug fixes and features! To download the latest release of MySQL Community Server, please visit MySQL Downloads. MySQL open source software is provided under the GPL License.

downloads.mysql.com

원하는 mysql버전과 OS를 맞춰줍니다. CentOS이므로 Red Hat 계열로 선택해주시고, 5 버전대에는 Red Hat 8이 없으니 7로 받아주시면 됩니다.

 

1. 이후 Download 버튼에 우 클릭 후 주소를 복사하고 wget을 통해 바로 받아줍니다.

 wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar 

 

 

2. 다운로드 받은 압축파일을 압축해제합니다.

 tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar 

 

 

3. yum을 통해 설치를 합니다.

설치 순서에 따라 하나씩 설치해도 되지만, yum을 사용하면 의존성 설치가 자동으로 진행되므로, 명령어를 통해 쉽게 처리합니다.

 sudo yum localinstall mysql-community-*

y를 입력하고 설치를 계속합니다.

 

 

4. mysql 설정하기

/etc/my.cnf에 설정파일이 생겼을텐데, 옵션 적용을 위해 재기동을 해야하므로 구동 전에 미리 설정을 합니다.

(필요할때 하셔도 되므로, 스킵하셔도 좋습니다.)

 sudo vim /etc/my.cnf 

max_allowed_packet=16M                     # 패킷 제한 증가
log_bin_trust_function_creators=1          # 함수 생성 및 수정 허용
lower_case_table_names=1                   # 대소문자 구분안함
sql-mode = "NO_ENGINE_SUBSTITUTION"        # 5.7부터 생긴 옵션으로 엄격모드 사용안함

저는 5.5버전에서 사용하던 시스템을 그대로 사용해야해서 기존 옵션들을 추가하였습니다.

[mysqld] 아래에 추가했습니다.

 

 

5. 구동하기

설정을 끝났으면 서비스를 올려보겠습니다.

 sudo systemctl start mysqld 

 sudo systemctl status mysqld 

정상적으로 동작하는 모습을 볼 수 있습니다.

 

 

6. mysql 접속하기(root 설정)

처음 계정 생성 및 권한 등을 주기 위해 mysql -u root를 입력해보시면 접근되지 않을텐데 설정이 필요합니다.

 

설정을 위해 서비스를 다시 내립니다.

 sudo systemctl stop mysqld

 

무제약 모드로 구동하기 위해 옵션을 입력합니다.

 sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" 

 

다시 mysql을 구동합니다.

 sudo systemctl start mysqld 

 

이제 접근이 가능해졌습니다. 접근하여 계정 생성과 root 비밀번호 설정등을 진행합니다.

먼저 갱신을 하고 쿼리를 수행합니다.

 flush privileges; 

 

root는 해당 서버에 직접 접근하여 입력한 비밀번호로만 접근 할 수 있도록 설정하였습니다.

 ALTER USER 'root'@'localhost' IDENTIFIED BY '임시비밀번호'; 

 

저는 계정을 하나 추가하고 데이터베이스 생성 및 권한 설정을 하였습니다.

 create user '유저이름'@'%' identified by '유저비밀번호'; 

 grant all privileges on 데이터베이스명.* to '유저이름'@'%'; 

 CREATE DATABASE 데이터베이스명 default CHARACTER SET UTF8; 

 flush privileges; 

 exit 

 

 

설정을 맞치고 mysql을 빠져나오면 서비스를 다시 종료하고

무제약 모드를 설정 후 서비스를 기동합니다.

 sudo systemctl stop mysqld 

 sudo systemctl unset-environment MYSQLD_OPTS 

 sudo systemctl start mysqld 

 

 

모든 설정이 끝났습니다. mysql을 사용하시면 됩니다.

 

 

 

 

출처 : sparkdia.tistory.com/11emctl unset-environment MYSQLD_OPTS

 

 

반응형