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버전과 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
'OS > Linux' 카테고리의 다른 글
Linux - ll 커맨드가 안될때(Centos) (0) | 2021.11.16 |
---|---|
CentOs 8 - Mysql 8 설치 (기본 설정 버전) (0) | 2021.01.22 |
Linux - 명령어 모음 (0) | 2020.10.15 |
CentOS - git 설치하기 (0) | 2020.08.18 |
Ubuntu - 우분투 톰캣 설치하기 & 톰캣 서비스 생성하기 (4) | 2020.02.19 |