MySql V5.6.17 설치 on CentOS 6.5 (소스버전설치)
1 의존 패키지 설치
[root@cosmos ~]# yum -y install zlib curl [root@cosmos ~]# yum -y install gcc g++ cpp gcc-c++ [root@cosmos ~]# yum -y install openssl openssl-devel [root@cosmos ~]# yum -y install ncurses-devel [root@cosmos ~]# yum -y install bzip2-devel [root@cosmos ~]# yum -y install libtermcap-devl libc-client-devel [root@cosmos ~]# yum -y install bison [root@cosmos ~]# yum -y install perl [root@cosmos ~]# yum -y install make cmake |
또는 위의 절차를 한라인에 한번에 다음과 같이 수행할 수 있겠다.
[root@cosmos ~]# yum -y install zlib curl gcc g++ cpp gcc-c++ openssl openssl-devel ncurses-devel bzip2-devel libtermcap-devl libc-client-devel bison perl make cmake |
2 Mysql 데이터베이스 관리자(또는 그룹생성)
요즘 너무나 많은 해킹이 기승을 부려 널리 사용되는 사용되는 사용자는 가능하면 사용않하는게 좋을것 같다.
[root@cosmos ~]# groupadd xxxx [root@cosmos ~]# useradd –g xxxx **** [root@cosmos ~]# passwd **** |
3 MYSql을 다운로드 받고 소스를 임의의 장소에 푼다
[root@cosmos ~]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz [root@cosmos ~]# tar xvzf mysql-5.6.17.tar.gz [root@cosmos ~]# cd mysql-5.6.17 |
4 CMake 수행과 make & make install
역시 파라미터 설정시 범용적인 사용자지정이나 포트를 지정하기 보다는 내부에서 결정한 포트를 사용하는것이 보안상 안전 할 것 같다.
[root@cosmos ~]# cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql-5.6.17 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_DATADIR=/opt/mysql-5.6.17/data -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=***** -DMYSQL_TCP_PORT=00000 -DENABLE_DOWNLOADS=1 |
위와 같이 cmake작업을 했으며 /opt 하위에 기본적인 바이너리가 설치가 되었을 것이다. 확인후 해당 디렉토리를 데이터베이스 관리자로 소유를 변경한다.
[root@cosmos ~]# make && make install [root@cosmos ~]# cd /opt [root@cosmos opt]# chown -R *****:***** mysql-5.6.17/ |
***사용자가 바뀌면 /etc/my.cnf의 user=mysql에서 바뀐 사용자로 변경해줘야한다.
5 데이터 베이스 생성
[root@cosmos opt]# /opt/mysql-5.6.17/scripts/mysql_install_db --defaults-file=/opt/mysql-5.6.17/my.cnf --user=***** --basedir=/opt/mysql-5.6.17 --datadir=/opt/mysql-5.6.17/data --explicit_defaults_for_timestamp=on
|
6 Resist to service
[root@cosmos opt]# cp /opt/mysql-5.6.17/support-files/mysql.server /etc/init.d/mysqld |
서비스에 등록후 /etc/init.d/mysqld를 수정한다.
….. basedir=/opt/mysql-5.6.17 datadir=/opt/mysql-5.6.17/data ….. |
[root@cosmos opt]# chkconfig mysqld on [root@cosmos opt]# chkconfig --list mysqld |
7 기타
보통 mysql을 설치할때 rpm이나 yum과 같은 손쉬운 툴로 설치하거나, 포트도 기본 3306포트를 사용한다든가, 사용자를 mysql 로 사용하는 경우 특별한 문제 없이 설치되는것 같다.
하지만, 소스용으로 받아서 컴파일하여 설치하고 사용자나 포트를 변경하는 경우 여러가지 문제가 발생하는 것같다.
설치가 정상적으로 되지 않는경우 /etc/my.cnf파일이나 /etc/init.d/mysqld 파일에 정상적으로 설정되 되었는지 위의 사항을 포함하여 모든값이 변경한대로 반영이 되었는지 조심스럽게 확인하는 절차가 추가로 필요하겠다.