[리눅스] CentOS 7 Mysql 설치 방법 - How to install MySQL on CentOS 7

CentOS7에서는 MySQL서비스를 기본적으로 MariaDB를 사용합니다. mysql이 설치되어 있지 않기 때문에 사용하려면 MariaDB를 삭제하고 MySQL을 다시 설치하는 방법으로 진행해야 합니다. 오늘은 CentOS 7 환경에서 Mysql을 설치하는 방법에

CentOS7에서는 MySQL서비스를 기본적으로 MariaDB를 사용합니다. mysql이 설치되어 있지 않기 때문에 사용하려면 MariaDB를 삭제하고 MySQL을 다시 설치하는 방법으로 진행해야 합니다.

오늘은 CentOS 7 환경에서 Mysql을 설치하는 방법에 대해서 알아보겠습니다.


mysql 설치

CentOS7에서 MySQL 설치하는 방법

먼저 maria db를 찾아서 삭제해 줍니다.

# yum list installed mariadb|*     명령어로 설치되어 있는 마리아db를 찾아 줍니다.
# yum remove -y MariaDB-Client.x86_64    설치되어 있는 마리아db를 지워줍니다.


how to install mysql

 이제 MySQL을 설치해 줍니다. 아래의 명령어를 순서대로 입력하셔서 설치하실 수 있습니다.

 

mysql package install

1. 패키지 설치

# yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# yum -y install mysql-community-server

 

mysql service start

2. 서비스 시작

# systemctl start mysqld
# systemctl enable mysqld


start mysql

3. MySQL 실행

# mysql
mysql > quit

Access denied for user 'root@'localhost' (using password: NO) 라는 메시지가 나오면 임시 비밀번호를 사용해서 비밀번호를 초기화 해줘야 합니다.


set temporary password

/var/log/mysqld.log 안에서 mysql의 임시 비밀번호를 확인하실 수 있습니다.


set temporary password

열어보시고 /password 로 검색을 해보시면 localhost: 비밀번호 이런식으로 임시 비밀번호가 들어 있는 것을 볼 수 있습니다.


mysql set password

mysql -u root -p 로 패스워드 입력 후 mysql에 접속할 수 있습니다.

 

4. MySQL 설정(패스워드 및 패스워드 정책)

mysql set password

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '패스워드';

정책 Flush
mysql> FLUSH PRIVILEGES;

패스워드 변경
mysql> UPDATE user set authentication_string=password('openTutorials') where user='root';

패스워드 복잡도 설정
mysql> SHOW variables LIKE 'validate_password%';

권한 Low
mysql> SET GLOBAL validate_password_policy=LOW;

mysql> UPDATE user set authentication_string=password('openTutorials') where user='root';


5. 방화벽 오픈

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

use database

show databases;    명령어를 이용하면 생성되어 있는 데이터베이스를 확인하실 수 있습니다.


use database

데이터베이스 목록을 보시고 사용하실 데이터 베이스를

use 데이터베이스명    명령어로 사용하실 수 있습니다.

이제 MySQL을 사용하실 준비가 끝났습니다.


MySQL 버전별패스워드변경

MySQL 5.7.6 이상

ALTER USER 'root'@'localhost' IDENTIFIED BY '패스워드';


MySQL 5.7.5 이하

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('패스워드');


-- MySQL 5.7 이상

UPDATE mysql.user SET authentication_string=PASSWORD('패스워드') WHERE user='root' AND Host='localhost';

FLUSH PRIVILEGES;


-- MySQL 5.7 미만

UPDATE mysql.user SET password=PASSWORD('패스워드') WHERE user='root' AND Host='localhost';

FLUSH PRIVILEGES;