본문 바로가기

Linux/MySQL

MariaDB 컴파일 설치





MariaDB 컴파일 설치




1. 다운로드


아래 주소인 MariaDB 홈페이지에 접속하여 관련 파일을 다운받는다.

https://mariadb.org/



사전 라이브러리 설치

[root@localhost ~]# yum -y install gcc gcc-c++ cmake ncurses ncurses-devel bison


위 파일(mariadb-10.1.18..tar.gz)을 /data 경로에 다운받는다.

[root@localhost ~]# cd /data

[root@localhost data]# tar zxvf mariadb-10.1.18.tar.gz

[root@localhost data]# cd mariadb-10.1.18



2. 컴파일

이제 컴파일을 진행해야 한다. 다른 것은 입력하지 않아도 되지만 빨간색 표시된 옵션은 되도록 입력 및 환경에 맞춰 변경.


[root@localhost mariadb-10.1.18]# cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \

-DMYSQL_DATADIR=/mdata \

-DWITH_READLINE=1 \

-DWITH_SSL=bundled \

-DWITH_ZLIB=system \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_EXTRA_CHARSETS=all \

-DWITH_ARIA_STORAGE_ENGINE=1 \

-DWITH_XTRADB_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_FEDERATEDX_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1


빨간색부분 위에부터

1 : MariaDB가 설치되는 경로

2 : MariaDB Data 디렉토리 경로

3,4 : 언어셋에 관련된 설정. utf8에 맞춰져 있다.

5 : 텍스트파일의 데이터를 특정 테이블에 저장


위의 과정이 오류없이 잘 진행되었다면 make를 진행한다.

[root@localhost mariadb-10.1.18]# make -j 17

[root@localhost mariadb-10.1.18]# make install



계정생성 및 설치

my.cnf

my.cnf 파일을 생성해주어야 한다. 주로 많이 사용하는 경로는 /etc/my.cnf

[root@localhost mariadb]# cp /usr/local/mariadb/support-files/my-huge.cnf /etc/my.cnf

** my-huge.cnf 파일은 메모리에 따라서 my-small.cnf / my-medium.cnf / my-large.cnf / my-huge.cnf 중 선택하여 복사한다.


[root@localhost mariadb-10.1.18]# useradd mysql

[root@localhost mariadb-10.1.18]# cd /usr/local/mariadb/

[root@localhost mariadb]# ./scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mariadb --datadir=/mdata


2016-10-19 13:48:30 140149931235104 [Note] InnoDB: Waiting for purge to start

2016-10-19 13:48:30 140149931235104 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.32-78.1 started; log sequence number 1616819

2016-10-19 13:48:30 140149334398720 [Note] InnoDB: Dumping buffer pool(s) not yet started

OK


To start mysqld at boot time you have to copy

support-files/mysql.server to the right place for your system


PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !

To do so, start the server, then issue the following commands:


조금만 위쪽으로 올려보시면 위와 같이 OK 화면이 떴다면 정상적으로 설치 완료입니다.


실행스크립트 복사 및 소유권 변경

[root@localhost mariadb]# cd /usr/local/mariadb/

[root@localhost mariadb]# cp -a support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@localhost mariadb]# chown -R mysql:mysql /mdata

[root@localhost mariadb]# chown -R mysql:mysql /usr/local/mariadb/


경로 설정 후 실행

[root@localhost mariadb]# vi /root/.bash_profile

...

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

export PATH

...

위 내용(빨간 부분) 추가 후 저장

[root@localhost mariadb]# source /root/.bash_profile

[root@localhost mariadb]# mysql -u root -p

Enter password: (현재 비밀번호가 없으므로 Enter)

...

MariaDB [(none)]> 


MariaDB 비밀번호 변경

방법1.

[root@localhost ~]# cd /usr/local/mariadb/bin/

[root@localhost bin]# ./mysqladmin -u root password 비밀번호


방법2.

[root@localhost ~]# mysql -u root -p

...

MariaDB [(none)]> SET PASSWORD = PASSWORD('비밀번호');


방법3. (mysql_secure_installation을 통한 기본보안설정 과정 중 비밀번호 설정)

[root@localhost ~]# cd /usr/local/mariadb/bin/

[root@localhost bin]# ./mysql_secure_installation


보안설정 (mysql_secure_installation)


NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!


In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.


Enter current password for root (enter for none): (현재비밀번호. 없으면 Enter)

OK, successfully used password, moving on...


Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.


You already have a root password set, so you can safely answer 'n'.


Change the root password? [Y/n] (비밀번호 변경 여부)

New password: 

Re-enter new password: 

Password updated successfully!

Reloading privilege tables..

 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.


Remove anonymous users? [Y/n] (설치 중 생성된 계정 삭제 여부)



Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.


Disallow root login remotely? [Y/n] (root의 원격 접속 허용 여부)


By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.


Remove test database and access to it? [Y/n] (test database 삭제 여부)


Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.


Reload privilege tables now? [Y/n] (현재 변경한 내용 업데이트 여부)





'Linux > MySQL' 카테고리의 다른 글

MySQL 시작시 PID 에러 해결  (0) 2016.11.28
MariaDB 바이너리 설치  (0) 2016.11.02
yum을 통한 MariaDB 설치  (0) 2016.10.28
yum repository를 이용하여 mysql 특정버전 설치  (0) 2016.10.28
MySQL Replication 설정  (0) 2016.10.25