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

테스트 환경 : 리눅스 – 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




 


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

Leave a Comment