The Pursuit of Happyness

반응형

예전에 MySQL 5.6 설치 포스팅을 올렸었는데, 5.7에서 상당한 변화가 있어서 다시 포스팅을 합니다.


기본적인 설치 방법이나 명령어는 비슷하지만 기본 패스워드를 확인하는 방법이 필요해서 정리해 봅니다.


1. mysql-community repo 설치


CentOS 7.x 버전에서는 MySQL 대신 Maria DB가 기본으로 들어가 있어서 MySQL 설치를 위해서는 repo 를 추가해 주어야 합니다.


rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 


2. MySQL 서버를 설치합니다.


yum install mysql-community-server


3. MySQL 서버를 구동합니다.


systemctl start mysqld


4. 서버 재시작 후에도 MySQL 서버가 동작하도록 세팅합니다.


systemctl enable mysqld


5. MySQL 5.6 버전까지는 설치 후에 기본 root 계정 패스워드가 없었는데, 5.7 부터는 보안이 강화되어 임시 패스워드가 생겼습니다. log 파일에서 패스워드를 확인합니다.


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


6. 위에서 확인한 임시 패스워드를 이용해서 MySQL 서버를 설정합니다.


mysql_secure_installation





 



반응형

반응형

CentOS 7.x 에서는 기본으로 MySQL 대신 Maria DB 패키지 정보가 들어있어서 MySQL 설치를 위해서는 repository를 추가로 설치해 줘야 합니다.


아래의 명령어를 이용하여 mysql-community repo를 설치합니다.

rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm


현재 MySQL 5.7 이 배포중에 있으나 위의 repo를 추가한 경우 MySQL 5.6이 기본으로 설정되어 있습니다.

MySQL 5.7은 기존 버전에 비해서 상당한 변화가 있었기 때문에 다음 포스팅에서 다시 다루기로 하고 일단은 5.6 버전을 설치해 보겠습니다.


아래 명령어로 MySQL을 설치합니다.

yum install mysql-community-server


아래 명령어를 이용해서 MySQL 서비스를 실행합니다.

# systemctl start mysqld


기본 세팅에서 DB는 /var/lib/mysql 에 저장이 되며, /var/log/mysqld.log 파일에 로그 기록이 남습니다.

기본 세팅에서는 별도의 비밀번호 입력없이 아래와 같이 입력해서 로그인 할수 있습니다.

mysql


MySQL의 보안을 위해서 root 계정에 비밀번호를 설정하고, anonymous 계정을 삭제합니다.

mysql_secure_installation

실행하면 먼저 현재 설정된 MySQL root 비밀번호를 입력하라고 나오고, 입력후에는 MySQL root 비밀번호를 변경 할지를 물어보고, anonymous 계정을 삭제할 것인지 물어봅니다. 그리고 root 계정에 대해서 원격 서버에서의 접속을 허용할 것인지 설정하고 나면 test 데이터 베이스를 삭제할 것인지를 물어보는데, MySQL 5.6에서는 기본으로 test 데이터 베이스가 존재하지 않기 때문에 삭제하겠다고 하면 에러 메시지가 나오게 됩니다. 에러가 나도 보안 설정 진행에는 문제가 없습니다. 그리고 변경된 계정 정보를 바로 반영할 것인지를 설정하면 끝납니다.


마지막으로 아래 명령어를 이용해서 서버 재시작시 MySQL 서비스가 실행되도록 합니다.

systemctl enable mysqld




반응형