생계/MySQL2017. 9. 8. 23:33
반응형

mariadb 설치하는 방법은 여러가지가 있고, 장단점이 있다. 


- source 설치 : 소스를 다운받아 컴파일하는 방식. 홈페이지에서 소스를 다운받았는데 컴파일오류가 나면 당황스럽다. 
- binary 설치 : 이미 컴파일된 바이너리를 다운받아 설치. 설정도 바꿀수 있고, 컴파일 에러도 피해갈수 있다. 
- yum 설치 : 가장쉽고 실패할 일이 거의 없다. 단점은 설정을 맘대로 바꾸기 힘들다는것 (ex, 설치계정, datadir..)


 binary 설치가 나의 경우엔 가장 적합했다. 




1.설치 준비


- 라이브러리

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

cd /usr/local/
wget -N https://downloads.mariadb.org/interstitial/mariadb-10.2.7/bintar-linux-x86_64/mariadb-10.2.7-linux-x86_64.tar.gz
tar zxvf mariadb-10.2.7-linux-x86_64.tar.gz

ln -s /usr/local/mariadb-10.2.7-linux-x86_64 /usr/local/mysql


# mariadb 사용자 및 그룹 추가
groupadd mysql
useradd -g mysql mysql
passwd mysql


# 권한설정
chown mysql.mysql -R mariadb-10.2.7-linux-x86_64
chmod 750 -R /usr/local/mariadb-10.2.7-linux-x86_64
chown mysql.mysql -R ./mariadb
chown mysql.mysql -R ./mariadb-10.2.7-linux-x86_64



2. 설치 및 설정값 편집 


# my.cnf 복사,편집  (아래 내용은 인터넷에서 가져온거라 잘은 모르겠음)
cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf

- 시스템 메모리가 4G이상일 때 : my-innodb-heavy-4G.cnf
- 시스템 메모리가 1G~2G일 때 : my-huge.cnf
- 시스템 메모리가 512MB정도 일 때 : my-large.cnf
- 시스템 메모리가 32MB~64MB정도 일 때 : my-medium.cnf
- 시스템 메모리가 64MB이하일 때 : my-small.cnf


vi /etc/my.cnf  ( default port 를 변경하고자 한다면.. default = 3306 ) 
[client]
port = 33060
[mysqld]
port = 33060



# mysql(mariadb) 실행데몬 복사

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chown mysql.mysql /etc/init.d/mysqld
chown mysql.mysql /etc/my.cnf

chmod 750 /etc/init.d/mysqld


# mysql 실행데몬 수정
vi /etc/init.d/mysqld


# DB디렉토리 지정 하고 저장 


basedir=/usr/local/mysql
datadir=/DATA01/mysql

chown mysql.mysql -R /DATA01



3. DB 작업 


# DB생성 (mysql 계정으로 로그인)

su - mysql
/usr/local/mariadb/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/DATA01/mysql


# mysql 구동 (mysql 계정으로 로그인)
service mysqld start


# PATH 설정 (mysql 계정으로 로그인)


cd
vi .bash_profile

맨 마지막 줄에
PATH=$PATH:/usr/local/mysql/bin


닫고 저장


source .bash_profile


mysqladmin -u root password 'root123!'


netstat -an |grep 3306


# drop database test

 


** mariadb basedir 경로 변경 -> mysql

반응형
Posted by 돌고래트레이너
생계/MySQL2017. 9. 8. 23:29
반응형

MariaDB 를 default 로 설치하면 문자 셋이 latin1 로 되어있다. 한글을 사용하기 부적절하므로 character set 을 변경해줘야 함.



 ** character set 변경 


1. 현재 문자셋 확인 


  show variables like 'c%'

  

2. my.cnf 편집 


  vi /etc/my.cnf


#########################################
[client]
 
default-character-set=utf8


[mysqld]

init_connect="SET collation_connection=utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server=utf8
collation-server=utf8_general_ci

skip-character-set-client-handshake


[mysql]


default-character-set=utf8

#########################################



3. 재기동


service mysqld restart


4. 문자셋 확인 


  show variables like 'c%'


 



## 여기까지 되면 보통은 거의 해결.


 추가적으로..

 1. character set 변경전에 생성된 테이블들은 따로 변경해주거나 재생성

 2. Toad 같은 tool 에서는 한글 입,출력이 되는데 terminal 에서 error 가 난다면 

      터미널 설정을 확인 


   (ex. secureCRT 경우 Session Options 에서 설정 변경)


   


  


** 오픈소스 DB 를 본격적으로 써본게 처음이라 아직까지는 불신이 있었다. 

문자셋 변경을 해도 터미널에서 한글 insert 가 안되서 오픈소스 탓을 했는데,

내가 사용한 터미널과 툴의 문제였다. 조금더 MariaDB 에 믿음을 가져보자 

반응형
Posted by 돌고래트레이너
생계/기타2017. 9. 8. 23:26
반응형

Top ten Database Security Threats

 

1. Excessive Privilege Abuse (과도한 권한에 의한 남용)
필요하지 않은 권한까지 부여, 남용되는 사례
ex) 학생 신상 정보만 업데이트 하면 되는 DB작업자에게 성적 수정까지 할 수 있는
과도한 권한 부여

2. Legitimate Privilege Abuse (정당한 권한에 의한 남용)
정당한 권한은 맞지만 남용될 수 있는 사례
ex) 병원 관계자가 환자의 개인 기록을 언제든지 조회할 수 있는 상황

3. Privilege Elevation (권한 상승)
해커가 침입시 정보 유출 작업을 더욱 손쉽게 하려고 제일 먼저 최대한
높은 권한으로의 상승을 시도함.

4. Platform Vulnerabilities (플랫폼 취약성)
데이터베이스 서버가 설치된 운영체제의 취약성으로 말미암아 위협받는 상황

5. SQL Injection

 

6. Weak Audit Trail
감사 정책을 약하게 가져가면서 문제 상황을 놓칠 수 있는 상황

7. Denial of Service (Dos)
대표적인 해킹 공격 유형

8. Database Communication Protocol Vulnerabilities (데이터베이스 프로토콜 오류)
제품 버그

9. Weak Authentication (약한 인증)
편리함 때문에 인증 절차를 간소화, 축소하면서 발생할 수 있는 위협

 

10. Backup Data Exposure (백업 데이터 노출)
암호화되지 않은 채 백업 데이터가 외부로 유출되는 경우


 

 

 

내용출처: '오라클 데이터베이스 보안 / 당신의 데이터는 안녕하십니까' (김규백 저)  의 내용을 참고하여 정리하였습니다.

 

반응형
Posted by 돌고래트레이너