4,563,333 th visitor since 2017.2.1 ( Today : 227 )
Programming
No. 712
Name. swindler
Subject. mysql utf8mb4 cmake 설치
Main Cate. MySQL
Sub Cate.
Date. 2013-09-17 10:09
Hit. 3442 (211.36.27.3)
File.
mysql이 cmake로 설치방법이 바뀌었다.
그리고 utf8mb4를 지원하므로, 이 옵션을 넣어서 설치해야 한다.
(이모티콘 같은것들이 utf8 4byte 코드로 되어 있어서, DB에 정상적으로 저장할려면
utf8mb4 로 characterset 을 지정해야 한다.

이게 mysql 최신버전에 지원하고,
지금 기준으로 rpm이나 yum에서 바로 설치할 수가 없고, 최신버전 소스를 통하여 설치가능하다.

1. cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci

cmake를 하다가 오류가 나는 경우에 해당 라이브러리를 설치하고 나서,

CMakeCache.txt 파일을 삭제하고 다시 시작해야 한다.
그렇지 않으면 라이브러리 설치전에 실행했던 cmake 내용을 참조하므로, 설치가 되지 않는다.


2. gmake

3. gmake install

4. groupadd mysql
useradd -g mysql mysql


5.
cd /usr/local/mysql
./scripts/mysql_install_db

InnoDB: Operating system error number 13 in a file operation.
이런 에러가 나는 경우가 있다.
이건 selinux가 파일생성을 막고 있기 때문이다.
가장 간단한 해결책은 /etc/selinux/config 안에
SELINUX=disabled 를 해야 한다.
이후에 reboot을 해야 한다. (reboot 안 하고 적용하는 방법이 있는지는 잘 모르겠다.)

-> 이렇게 해도 여전히 같은 에러가 난다.
mysql.com 사이트에서 확인해보니
data 폴더를 777 옵션을 주라고 한다. (root 인데???)
하여튼, 그렇게 주니까 진행은 되는데, 또 다른 에러가 발생했다.
ERROR: 1005 Can't create table 'db' (errno: 13)

->
chown -R mysql.mysql /usr/local/mysql
모든 소유자와 그룹을 mysql로 변경하고 mysql 계정으로
./scripts/mysql_install_db 를 실행하니까 된다.


다시 root 권한으로 실행스크립트를 만든다.
cp support-files/mysql.server /etc/rc.d/init.d/mysqld

/etc/rc.d/init.d/mysqld 에서 아래 부분을 수정
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data



PATH를 추가한다.
PATH를 추가하는 방법에는 여러가지가 있지만,
개인적으로는 /etc/profile에 아래와 같은 부분을 추가한다.

PATH=$PATH:/usr/local/mysql/bin

export PATH 앞에서 선언해야 한다.


mysqld를 시작한다.
/etc/rc.d/init.d/mysqld start


[바로가기 링크] : http://coolx.net/cboard/develop/712



Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog