본문 바로가기
database/mysql

centos7 mysql 5.6 install

## OS : Centos 7.2 64bit (CentOS Linux release 7.2.1511 (Core) ) ## Mysql version : 5.6.30 
## mysql 설치시 의존성에 걸리는 패키지를 yum 으로 설치 진행 한다.

 

[root@node202 src]#yum install -y wget cmake.x86_64 ncurses-devel.x86_64 gcc gcc-c++   perl-Module-Install.noarch
## mysqld 가 사용할 유저와 해당 그룹을 생성 한다.
[root@node202 ~]# groupadd mysql
[root@node202 ~]# useradd -M -g mysql mysql
## /usr/local/src 디렉토리에 mysql 파일 다운로드 진행 및 압축을 풀고 해당 디렉토리에 진입한다.
[root@node202 src]#cd /usr/local/src
[root@node202 src]#wget http://ftp.kaist.ac.kr/mysql/Downloads/MySQL-5.6/mysql-5.6.30.tar.gz
[root@node202 src]# tar xvzf mysql-5.6.30.tar.gz
[root@node202 src]# cd mysql-5.6.30
## https://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html 참고 하여 옵션을 설정 할 수 있다
## Centos7 에서는 systemd 를 이용하여 관리 하기 위해 -DWITH_SYSTEMD을 enabel 해서 설치 하며,

## systemd 가 사용 되지 않는 os 에서는 에러가 날 수 있다.

[root@node202 src]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATEDX_STORAGE_ENGINE=1 \
-DWITH_ARIA_STORAGE_ENGINE=1 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc \
-DMYSQL_TCP_PORT=3306 \
-DWITH_SYSTEMD=1
## make 를 이용 하여 컴파일을 통해 바이너리 파일 생성 및 바이너리 파일 설치 진행
[root@node202 src]# make && make install
## mysql 에 사용될 디렉토리 권한 설정
[root@node202 src]#chown -R mysql /usr/local/mysql
[root@node202 src]#chown -R mysql /usr/local/mysql/data
[root@node202 src]#chgrp -R mysql /usr/local/mysql
[root@node202 src]#echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@node202 src]# . /etc/profile
## mysql DB초기화 진행
[root@node202 src]#cd /usr/local/mysql
[root@node202 mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
## PID 생성될 디렉토리 생성 및 권한 설정
[root@node202 mysql]# mkdir /var/run/mysqld
[root@node202 mysql]# chown mysql /var/run/mysqld
[root@node202 mysql]# chgrp mysql /var/run/mysqld
## mysql 계정에 대한 기본 보안 설정 및 root password 설정을 진행 한다.
[root@node202 mysql]# mysql_secure_installation
## centos7 에서는 systemd을 이용하여 데몬을 관리 하기 때문에 mysqld 에 대한 서비스를 등록 한다.
[root@node202 support-files]#  cd /usr/local/mysql/support-files/
[root@node202 support-files]#   cp -aR mysql.server  /etc/rc.d/init.d/mysql.service
[root@node202 support-files]# systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on
## 경로에 재대로 이동 되었다면 아래와 같이 확인 할 수 있다.
[root@node202 support-files]# systemctl status mysqld       
● mysqld.service - LSB: start and stop MySQL
   Loaded: loaded (/etc/rc.d/init.d/mysqld)
   Active: inactive (dead)
     Docs: man:systemd-sysv-generator(8)
[root@node202 support-files]# systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on
## systemd 를 이용하여 mysql 을 정상 적으로 실행 할 수 있다.
[root@node202 support-files]# systemctl start mysqld
[root@node202 support-files]# systemctl status mysqld
● mysqld.service - LSB: start and stop MySQL
   Loaded: loaded (/etc/rc.d/init.d/mysqld)
   Active: active (running) since 토 2016-06-04 05:09:23 KST; 3min 15s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 17621 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/mysqld.service
           ├─17626 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/loc...
           └─17739 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plu...

 6월 04 05:09:22 node202 systemd[1]: Starting LSB: start and stop MySQL...
 6월 04 05:09:23 node202 mysqld[17621]: Starting MySQL. SUCCESS!
 6월 04 05:09:23 node202 systemd[1]: Started LSB: start and stop MySQL.
## mysql client 로 접속 하여 확인 한다.
[root@node202 ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 5.6.30 Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> \s;
--------------
mysql  Ver 14.14 Distrib 5.6.30, for Linux (x86_64) using  EditLine wrapper

Connection id:          18
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.6.30 Source distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /tmp/mysql.sock
Uptime:                 59 min 3 sec

Threads: 1  Questions: 42  Slow queries: 0  Opens: 68  Flush tables: 1  Open tables: 61  Queries per second avg: 0.011
--------------

ERROR:
No query specified


반응형