mariadb 10.3 설치

| 2018년 11월 30일 | 0 Comments

안녕하십니까 기술지원팀 민솔입니다.

mysql 8.0 과 호환되는 mariadb 10.3 버전 소스 설치를 진행하였습니다.

 

 

[필수 라이브러리 패키지 설치]

yum install gcc gcc-c++ libtermcap-devel gdbm-devel zlib* libxml* freetype* libpng* libjpeg* iconv flex gmp cmake ncurses-devel

 
[파일 다운로드]

https://downloads.mariadb.org/mariadb/10.3.10/   이동하여 os 이미지에 맞게 소스 파일 다운로드합니다.

wget https://downloads.mariadb.org/interstitial/mariadb-10.3.10/source/mariadb-10.3.10.tar.gz/from/http%3A//ftp.kaist.ac.kr/mariadb/

mv index.html mariadb-10.3.10.tar.gz

tar xvzf mariadb-10.3.10.tar.gz

 

[컴파일 옵션]

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_EXTRA_CHARSETS=all -DMYSQL_DATADIR=/usr/local/mysql/data -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

 

mariadb 10.3 의 경우, cmake 버전이 3.3.24로 진행되어야 하기 때문에

cmake 를 소스 설치한 후 진행하여야 합니다.

 

 

(((cmake 에러 발생)))

CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):

  Could NOT find GnuTLS (missing: GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR)

  (Required is at least version “3.3.24”)

Call Stack (most recent call first):

  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)

  /usr/share/cmake/Modules/FindGnuTLS.cmake:61 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)

  libmariadb/CMakeLists.txt:302 (FIND_PACKAGE)

— Configuring incomplete, errors occurred!

See also “/usr/local/src/mariadb-10.3.10/CMakeFiles/CMakeOutput.log”.

See also “/usr/local/src/mariadb-10.3.10/CMakeFiles/CMakeError.log”.

[cmake 소스 설치]

wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.Z

cd cmake-3.3.2

./bootstrap

make

make install

cmake –version 

((버전 에러 날 경우 ssh 세션을  끊고 다시 로그인 후 다시 버전을 확인합니다.))

CMake Error: Could not find CMAKE_ROOT !!!

CMake has most likely not been installed correctly.

Modules directory not found in

/usr/local/bin

CMake Error: Error executing cmake::LoadCache(). Aborting.

[root@techsmile-39954 cmake-3.3.2]# cmake –version

cmake version 3.3.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

Could NOT find GnuTLS (missing: GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR)

-> yum install -y gnutls-devel

[mysql cmake 시 swap 부족 현상 발생할 수 있으므로 swap 파일을 생성하여 줍니다.]

dd if=/dev/zero of=/var/swapfile bs=1k count=4000000

mkswap /var/swapfile 

swapon /var/swapfile 

swapon -s

 

make 

make install

 
*mysql을 실행할 user 및 group 을 생성합니다.
 
groupadd -g 400 mysql
useradd -u400 -g400 -d /usr/local/mysql -s /bin/false mysql
chown -R mysql.mysql /usr/local/mysql
 
*mysql 실행을 위해 필요한 config 파일을 복사합니다.
cp -arp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
cp -arp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf

 

* db생성합니다. 
/usr/local/mysql/scripts/mysql_install_db –user=mysql  –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data

 

 

*mysql 디렉터리의 소유권을 변경합니다.

chmod 711 /usr/local/mysql
chmod 700 /usr/local/mysql/data
chmod 751 /usr/local/mysql/bin
chmod 750 /usr/local/mysql/bin/*
chmod 755 /usr/local/mysql/bin/mysql
chmod 755 /usr/local/mysql/bin/mysqldump
chmod 700 support-files/mysql.server
 
 
* 부팅 시 자동으로 시작 진행할 수 있도록 chkconfig 에 등록합니다.
chkconfig –add mysqld 
systemctl enable mysqld 
 
 
* /etc/init.d/mysqld  (stop,start,restart) 명령어로 실제 mysql 을 제어할 수 있습니다.

Category: 솔루션/IT기타

민 솔

About the Author ()