티스토리 뷰

집서버에 기존에 설치되어있던 5.6버전을 모조리 지우고, 8버전을 설치했다.

어짜피 테스트용 DB였기 때문에 delete and install이 크게 문제되지 않았다.

이번에도 역시 mysql은 개인 개발 테스트 용도로 쓰일 예정.

 

 

1. Delete old version

1-1. mysql 버전 확인

yum list installed | grep mysql

 

1-2. mysql 삭제

yum remove -y mysql-community-*

 

1-3. mysql 폴더 삭제

rm -rf /var/lib/mysql

 

 

2. Install new version

2-1. yum repository 등록

yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

주소는 https://dev.mysql.com/downloads/repo/yum/ 이곳에서 버전에 맞는 Download 버튼을 클릭하고 들어가서 "No thanks, just start my download." 우클릭하고 링크 복사.

 

2-2. yum respository 등록 확인

yum repolist enabled | grep "mysql.*"

 

2-3. 8버전 mysql 설치

yum install -y mysql-server

 

2-4. 설치된 mysql버전 확인

mysqld -V

 

 

3. Configuring the server

3-1. mysql 서비스 시작

systemctl enable mysqld # 재부팅 시 자동 시작하도록 설정
systemctl start mysqld # 서비스 시작
systemctl status mysqld # 서비스 구동 여부 확인

 

3-2. 임시 비밀번호 확인

grep "temporary password" /var/log/mysqld.log

mysql의 경우 설치 후 임시 비밀번호가 발급된다. 이 임시 발급된 비밀번호로 root 계정 접속을 할 수 있다.

위 이미지에서 블록 잡은 부분이 비밀번호.

 

3-3. root 계정 접속

mysql -u root -p

위 명령어를 입력하면 비밀번호를 입력하라고 뜬다. 3-2에서 확인했던 임시 비밀번호를 입력하고 엔터를 뙁 치면 아래와 같이 접속이 정상적으로 이루어짐을 확인할 수 있다.

 

3-4. root 계정 비밀번호 변경

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '변경할 비밀번호';

만약 비밀번호를 간단하게 하고 싶은데 "Your password does not satisfy the current policy requirements"라는 경고문이 뜨면서 변경이 되지 않는다면, 일단 'a1b2c3ABC!@' 같이 아무렇게나 바꿔주고 비밀번호 정책을 수정하자.

임시 비밀번호를 다른 비밀번호로 변경하지 않으면, 정책 수정이고 뭐고 작동을 하지 않기 때문에 계정 비밀번호를 일단 변경해주는 것이 우선이다.

 

3-5. 비밀번호 정책 수정

mysql> SHOW VARIABLES LIKE 'validate_password%';

 

대소문자, 숫자, 특수문자, 8자리.. 테스트용 DB에 이렇게까지는 강력한 보안은 귀찮기만 하다.

mysql> SET GLOBAL validate_password.length = 5; # 다섯자리까지만..
mysql> SET GLOBAL validate_password.number_count = 0; # 숫자 필요없엉
mysql> SET GLOBAL validate_password.policy=LOW; # 정책 수준은 낮게..
mysql> SET GLOBAL validate_password.mixed_case_count = 0; # 대소문자 필요없엉
mysql> SET GLOBAL validate_password.special_char_count = 0; # 특수문자 필요없엉

그리고 다시 3-4에서 사용했던 명령어로 비밀번호를 간단하게 변경.

 

 

3-6. 외부 접속 허용

mysql> use mysql
mysql> select host, user from user;

호스트와 유저를 확인해보면 root 계정의 경우 localhost로만 접속이 허용되어 있다.

root 계정을 외부에서 접속 가능하게끔 변경할 수도 있지만, 아무리 테스트DB라도 그러면 위험하니까 새 계정을 생성해서 권한 부여를 해주자.

mysql> CREATE USER '아이디'@'%' identified by '비밀번호'; # 외부접속만 가능한 계정 생성
mysql> CREATE DATABASE DB이름 default character set utf8;
mysql> GRANT ALL PRIVILEGES ON DB이름.* to '아이디'@'%'; # 해당 DB에 대한 권한 부여
mysql> flush privileges; # 새로고침 똭!
mysql> select host,user from user; # 다시 확인

이미지에서 user 부분은 일부러 가렸다.

%로 모든 아이피에서의 접속이 허용된 걸 확인할 수 있다.

 

3306에 대한 포트 허용은 이미 되어있기 때문에 난 패스했다.

(https://zero-gravity.tistory.com/274 이 글의 2-4 부분 참고)

 

끝.

 

하- 이제 테스트 DB 생성해볼까나... 

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함