SeSac (2021-08 ~ 2021-12)/Linux

5강 - Linux CentOS7에 MySQL8 설치

배워도끝이없네 2021. 8. 8. 18:46

uname -a를 치면 해당 linux의 버전이 나온다.(여기서 cpu든 뭐든 확인가능)

 

mysql을 서버에 설치하기위해 mysql server의 다운로드 링크 주소를 복사한다음

(ex. https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-8.0.26-1.el7.x86_64.rpm)

 

리눅스에서 yum localinstall <복사한주소> 를 하면 로컬에 다운로드를 받을 수 있다.

 

*나같은경우 저것을 하기 전에 RMP Pakage를 먼저 설치하지 않으면 에러가 나서 먼저 설치해주었다.

 

설치가 완료된 모습.

 

vi /etc/my.cnf <<-- 외워두는것이 좋다. 어떤OS건 mysql을 설치하면 이 위치에 설치된다.

 

빔으로 데몬파일을 열어서

[client]

default-character-set = utf8mb4

 

[mysql]

default-character-set = utf8mb4

 

[mysqldump]

default-character-set = utf8mb4

 

[mysqld]

skip-character-set-client-handshake

init_connect="SET collation_connection = utf8mb4_unicode_ci"

init_connect="SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci"

 

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

 

를 붙여넣어준다.

 

이유는 utf8을 사용하기 위해서.

 

mb4는 4바이트로 사용하겠다라는 의미이다 (utf8은 원래 3바이트)

 

mysql은 프로세스보다 데몬의 성격이 강하다(항상 떠 있어야 하니까)

 

/var/log/ 밑에는 모든 시스템로그들이 모여있다.

 

mysql이 설치될 때 /var/log/mysqld.log에 최초의 패스워드를 숨겨 놓는다.

이것을찾기 위해서는

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

를 입력하면 temporary password를 찾을 수 있다

 

mysql8버전부터는 패스워드규칙에 8자이상, 대문자필수, 특수문자 필수가 있기 때문에 

이 규칙에 맞춰 패스워드를 설정해야 한다.

 

/usr/bin/mysql_secure_installation

을 이용하면 패스워드를 재설정 할 수 있다.

 

MySQL 계정권한명령어

mysql -u root -p : root계정으로 접속

 

show databases; : 데이터베이스의 모든 스키마를 보여준다.

CREATE DATABASE <스키마 명> : 스키마명으로 데이터베이스를 생성한다.

CREATE USER '<생성할 유저명>'@'%' IDENTIFIED WITH mysql_native_password BY 'xxx';

:  유저계정을 생성한다.

 

GRANT ALL PRIVILEGES ON <스키마명>.* TO '<권한을 주고싶은 유저계정>'@'%' WITH GRANT OPTION;

: 해당 유저 계정에 특정 스키마에 대한 권한을 부여한다.

ALTER USER <유저계정명> IDENTIFIED WITH mysql_native_password BY 'yyyy';

: 유저 계정의 패스워드를 변경한다.

 

show variables like '%max_connection%'; : 한번에 접속할 수 있는 커넥션의 수를 출력한다.

 

set global max_connections=100; : 최대 커넥션 수를 변경시킨다.