테스트 환경 : 리눅스 - 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자 이상이 되어야 한다.
[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
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
[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
조금이나마 도움이 되셨다면 밑에 공감 한 번 클릭해주시면 감사하겠습니다.
댓글