CentOS 7 MySQL 8 버전 설치

gclee·2022년 4월 9일
0

CentOS

목록 보기
5/5
post-thumbnail

MySQL 다운로드

아래 링크에 접속하여 다운로드 할 MySQL 링크를 확인해줍니다.
https://www.mysql.com/products/community/

링크에 접속한 뒤 Download MySQL Community Edition을 클릭해줍니다.

CentOS에서 사용할 예정이므로 MySQL Yum Repository를 눌러줍니다.

자신의 OS에 맞게 다운로드 해줍니다 저는 CentOS 7을 사용하므로 두 번째 링크 입니다.
아래 MD5: 문자열 또한 복사해줍니다.

No thanks, just start my download. 버튼을 우클릭하여 링크를 복사 또는 다운로드 해줍니다.

무결성 검사

구글에 md5 file checksum online 라고 검색하여 줍니다.

무결성 검사를 지원하는 웹페이지를 선택하여 들어가 주세요.

이곳은 제가 들어간 페이지 인데 Drop File Here 부분에 아까 다운로드 받은 파일을 넣어주면 MD5 해쉬 값을 알려줍니다.
https://emn178.github.io/online-tools/md5_checksum.html

아까 MySQL을 다운로드 할 때 보았던 MD5 의 해쉬값과 비교하여 동일한 해쉬값이 나왔다면 다운로드 받은 파일이 안전한 파일이라고 생각하시면 될 거 같습니다.

 

MySQL 설치

# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

위 링크는 No thanks, just start my download. 버튼을 우클릭하여 복사한 링크 입니다.

 

# yum update
# yum install mysql-server

설치 과정 생략

 

MySQL 포트 변경

# vi /etc/my.cnf

[mysqld]
port=포트번호

[mysqld] 아래 포트를 추가해준다.

 

MySQL 방화벽 추가

# firewall-cmd --permanent --zone=public --add-port=포트번호/tcp
success

# firewall-cmd --reload
success

# firewall-cmd --list-all
public (active)
  ports: 포트번호/tcp

firewall-cmd --list-all 명령어를 입력했을 때 ports 부분에 자신이 추가한 포트번호가 있다면 성공적으로 등록한 것이다.

 

MySQL 서비스 시작

# service mysqld start
# systemctl enable mysqld

MySQL 8 버전은 설치시 초기 비밀번호가 설정된다.
Root로 로그인 하기 위해서는 해당 비밀번호를 설치시 확인하거나 또는 로그 파일에서 확인해야 한다

 

MySQL 초기 비밀번호

# cat /var/log/mysqld.log

'''

2022-04-09T13:18:34.486429Z 6 [Note] [MY-010454] [Server] A temporary password is 
generated for root@localhost: eCWk*MbfH5Wp

'''

위 로그 파일 처럼 비밀번호를 확인할 수 있다.

# mysql -u root -p
Enter password: <임시비밀번호>

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.28

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> alter user 'root'@'localhost' identified by '변경할 비밀번호';
Query OK, 0 rows affected (0.07 sec)

mysql>

임시 비밀번호를 통해 root로 로그인을 한 뒤 비밀번호를 변경해주자.

MySQL 비밀번호 변경

mysql> alter user 'root'@'localhost' identified by 'PASSWORD';

해당 명령어를 입력하면 비밀번호를 변경 할 수 있다.

 

MySQL DataBase 생성

mysql> CREATE DATABASE 이름 default CHARACTER SET UTF8;
Query OK, 1 row affected, 1 warning (0.10 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| 이름                |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

CREATE DATABASE 이름 default CHARACTER SET UTF8; // 이름이란 DB생성
SHOW DATABASES; // 데이터 베이스 목록 확인

 

MySQL 유저 생성

mysql> create user 'userid'@'%' identified by '비밀번호';

'userid'@ 뒷 부분에 '%'를 입력하면 외부 'localhost'를 입력하면 로컬에서만 사용이 가능하다.

 

MySQL 권한 부여

mysql> grant all privileges on DB이름.* to '계정ID'@'%';

해당 계정에게 특정 DB의 모든 권한을 부여합니다.
모든 설정을 완료 했으니 외부 접속 테스트를 해봅시다.

 

참고로 MySQL 8 버전에서는 allowPublicKeyRetrieval 옵션 설정을 해줘야한다

DB툴에서 해당 옵션을 찾아 true로 바꾸어주자.

allowPublicKeyRetrieval=true

jdbc 주소는
jdbc:mysql://localhost:3306/database?allowPublicKeyRetrieval=true

0개의 댓글