본문 바로가기
아이티 공부/MySQL

리눅스에 MySQL 5.7.10 Enterprise 버전 설치하기

by Klero 2015. 12. 27.

테스트 환경 : 리눅스 - RHEL 6.5 64bit / 데이터베이스 - MySQL 5.7.10 Enterprise 버전


MySQL을 정상적으로 다운로드 받았으면 이제는 설치할 차례이다.

참고로 MySQL을 버전에 따라 설치 후 해야 하는 작업이 조금씩 틀리다.

이런것은 매뉴얼을 참고하면 된다.


MySQL Database Server (5.7.10) RPM for Oracle Linux / RHEL 6 x86 (64bit)

427.7 MB인 V100283-01.zip 파일을 리눅스 서버에 복사한다.



1. 이전 버전의 MySQL이 설치되었는지 확인 후 삭제


이전 버전의 MySQL 패키지가 설치되어 있다면 삭제를 하는 것이 좋다. 

왜냐하면 설치과정에서 이전버전과 충돌이 날 수도 있기 때문이다.


[root@MySQL ~]# rpm -qa | grep mysql

mysql-5.1.66-2.el6_3.x86_64

mysql-server-5.1.66-2.el6_3.x86_64

mysql-libs-5.1.66-2.el6_3.x86_64


[root@MySQL ~]# yum remove mysql mysql-server mysql-libs



2. MySQL 설치를 위해 V100283-01.zip 파일의 압축을 해제 한다.


[root@MySQL ~]# unzip V100283-01.zip

[root@MySQL ~]# chmod 777 *.rpm

[root@MySQL ~]# ls -al

압축을 해제하면 나타나는 rpm 파일들은 아래와 같다.




3. MySQL을 yum 명령어를 이용하여 설치한다. 아래의 순서대로 설치하면 된다.


[root@MySQL ~]# yum -y install mysql-commercial-common-5.7.10-1.1.el6.x86_64.rpm

[root@MySQL ~]# yum -y install mysql-commercial-libs-5.7.10-1.1.el6.x86_64.rpm

[root@MySQL ~]# yum -y install mysql-commercial-libs-compat-5.7.10-1.1.el6.x86_64.rpm

[root@MySQL ~]# yum -y install mysql-commercial-client-5.7.10-1.1.el6.x86_64.rpm

[root@MySQL ~]# yum -y install mysql-commercial-server-5.7.10-1.1.el6.x86_64.rpm

[root@MySQL ~]# yum -y install mysql-commercial-devel-5.7.10-1.1.el6.x86_64.rpm

[root@MySQL ~]# yum -y install mysql-commercial-embedded-5.7.10-1.1.el6.x86_64.rpm

[root@MySQL ~]# yum -y install mysql-commercial-embedded-devel-5.7.10-1.1.el6.x86_64.rpm

[root@MySQL ~]# yum -y install mysql-commercial-test-5.7.10-1.1.el6.x86_64.rpm     



4. MySQL start 및 포트 확인


[root@MySQL ~]# service mysqld start

[root@MySQL ~]# netstat -an | grep 3306

tcp        0      0 :::3306                     :::*                        LISTEN


추가로 3306 포트를 열어준다.



5. Random Password 확인


mysql에 접속하기 위해서는 random password를 확인해야 한다. random password 확인하는 방법은 MySQL 버전에 따라 조금씩 틀리다.

[root@MySQL ~]# grep 'temporary password' /var/log/mysqld.log

2015-12-26T09:32:43.121947Z 1 [Note] A temporary password is generated for root@localhost: YV)zw<xy:3be


[root@MySQL ~]#  mysql - u root -p

random으로 설정되어 있는 패스워드 입력


mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '1q2W3e$r%T';

mysql> flush privileges;


* 5.7.10버전에서는 validate_password 플러그인이 디폴트로 설치된다. 

이것은 적어도 하나의 대문자, 소문자. 숫자, 특수문자를 요구하며 8자 이상이 되어야 한다.

이러한 패스워드의 복잡성을 없애고 싶다면 아래와 같이 진행한다.


6. 패스워드 복잡성 없애는 방법


[root@MySQL ~]# ps -ef | grep mysql

root       2919      1  0 18:32 pts/1    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql mysql      3115   2919  0 18:32 pts/1    00:00:03 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock root       3294   2775  0 19:52 pts/1    00:00:00 grep mysql




위 사진에서 --plugin-dir 디렉토리에 있는 validate_password.so 파일을 지우거나 이름을 변경하고 mysql을 재시작하면

패스워드를 단순하게 변경할 수 있다.


[root@MySQL ~]# ls -al /usr/lib64/mysql/plugin/ | grep password

-rwxr-xr-x 1 root root  211344 Nov 30 05:00 validate_password.so



[root@MySQL ~]# mv /usr/lib64/mysql/plugin/validate_password.so validate_password.so.bak

[root@MySQL ~]# service mysqld restart

Stopping mysqld:                                           [  OK  ]

Starting mysqld:                                            [  OK  ]


[root@MySQL ~]#  mysql - u root -p

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Klero123';

mysql> flush privileges;



7. MySQL 기본 설정 및 한글 처리를 위해 my.cnf 파일 수정


mysql> status



o. mysql home 설정


[root@MySQL ~]# vi /etc/passwd : home을 /data/mysql로 수정한다.

[root@MySQL ~]# cat /etc/passwd|grep mysql

mysql:x:27:27:MySQL Server:/data/mysql:/bin/bash


[root@MySQL ~]# mkdir -p /data/mysql

[root@MySQL ~]# cd /data

[root@MySQL ~]# chown -R mysql:mysql mysql


o. my.cnf 수정

[root@MySQL ~]# vi /etc/my.cnf


[mysqld]


collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8 


max_heap_table_size = 134217728
query_cache_limit = 4194304
query_cache_size = 268435456
sort_buffer_size = 25165824
join_buffer_size = 67108864
max_tmp_tables = 64
## 주황색 값은 정해진 값이 아니니 알아서 설정


binlog_format = mixed

lower_case_table_names = 1     

performance_schema


[client]

default-character-set = utf8


[mysql]

default-character-set = utf8


[mysqldump]

default-character-set = utf8



파일 수정 후 service mysqld restart 필요

[root@MySQL ~]# service mysqld restart


* 만약 [ERROR] --initialize specified but the data directory has files in it. Aborting. 이러한 에러가 발생한다면

데이터 디렉토리 (/data/mysql)에 파일들이 있어서 그렇다. rm -rf /data/mysql/* 명령을 수행 후 mysqld를 다시 재시작 한다.



8. DBVisualizer 원격 접속을 위한 설정


mysql > use mysql;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Klero123' WITH GRANT OPTION;

mysql> GRANT TRIGGER ON *.* TO 'root'@'%' WITH GRANT OPTION;

mysql> GRANT SUPER ON *.* TO 'root'@'%';

mysql> FLUSH PRIVILEGES;

mysql> exit




 

조금이나마 도움이 되셨다면 밑에 공감 한 번 클릭해주시면 감사하겠습니다.

반응형

댓글