정책보기 ▼
프리미엄배너등록 광고
총 게시물 482건, 최근 0 건 안내 RSS
이전글  다음글  목록 글쓰기
[IT]

centos 7 mariadb 설치

에듀고시넷 2019-10-22 (화) 19:53 4년전 956
https://www.edugosi.net/b/free_board-286


centos 7 repository 설정
mariadb의 repository를 추가하여 설치
mariadb 버전별로 repository 설정이 다르나 repository 설정 파일은 동일하다.

repository 설정 파일 생성

1
sudo vi /etc/yum.repos.d/mariadb.repo
mariadb 버전은 5.5, 10.0, 10.1, 10.2, 10.3, 10.4버전이 있으며
본 글의 작성일 기준으로 10.4버전은 Beta 버전이고 그 외 버전은 Stable 버전이다.
설정 파일 설정값은 http://downloads.mariadb.org/mariadb/repositories/ 에서 확인 가능하다.

mariadb 10.1 버전으로 설치시 repository 설정값은 아래와 같이 한다.

1
2
3
4
5
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
mariadb 10.2 버전으로 설치시 repository 설정값은 아래와 같이 한다.

1
2
3
4
5
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
mariadb 10.3 버전으로 설치시 repository 설정값은 아래와 같이 한다.

1
2
3
4
5
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
버전별 설정은 설정값 중 baseurl의 중간에 버전 정보만 바꾸면 된다.

mariadb 설치
아래 명령을 실행한다. 패키지명의 대소문자에 주의해야한다.

1
sudo yum install MariaDB-server MariaDB-client
mariadb 설치 및 실행 후 최초 설정
아래 명령으로 mariadb를 실행 후 최초 설정을 한다.

1
2
sudo systemctl start mysql
sudo mysql_secure_installation
처음 물어보는 것은 root 계정의 패스워드 설정으로
현재 비밀번호(최초 이므로 엔터)를 입력 후 패스워드 설정 여부 "Y" 입력 후 패스워드를 입력한다.
그 다음은 익명 사용자의 삭제 여부로 "Y"를 입력한다.
그 다음은 root 계정의 외부 접속 여부로 상황에 맞게 입력한다. 외부 접속을 허용할 경우 "Y"를 입력한다.
그 다음은 기본적으로 생성되는 "test" 데이터베이스를 삭제할 것인지 물어보는 것으로 "Y"를 입력한다.
마지막으로 현재까지 설정한 것을 즉시 적용 할 것인지 물어보는 것으로 "Y"를 입력한다.
위의 여러 설정은 각자의 사용 환경에 맞게 설정하면 된다.

mariadb 자동 실행
부팅시 mariadb를 자동 실행 하려면 아래의 명령어를 실행한다.

1
sudo systemctl enable mariadb
자동 실행을 해제 하려면 아래의 명령어를 실행한다.

1
sudo systemctl disable mariadb
mariadb 설정
character set 및 collation
character set은 "utf8", "utf8mb4" 두 가지가 주로 많이 쓰이며
"utf8"은 최초 mysql 설계시 utf8 규격에 4byte에 할당된 문자가 없어 3byte로 설계되었으나
최근 4byte에 할당된 문자(이모티콘 문자)가 생기면서 4byte 확장을 위해 utf8mb4를 추가하였다.
utf8규격과 동일한 "utf8mb4"로 설정할 것을 권장하고 있다.

"utf8mb4" character set의 collation(정렬) 은

utf8mb4_general_ci
utf8mb4_unicode_ci
utf8mb4_bin
세가지가 있으며
일반적으로 "utf8mb4_unicode_ci"가 사용된다.
주의 할 점은 PK 컬럼이 문자일 경우인데 "utf8mb4_bin" 인 경우 대소문자를 구분하지만
"utf8mb4_general_ci", "utf8mb4_unicode_ci"인 경우 대소문자를 구분하지 않는다.
즉, "A", "a"는 동일한 값으로 취급되며 "Duplicate Primary Key" 에러를 발생한다.
1
sudo vi /etc/my.cnf.d/server.cnf
아래 내용을 추가 한다.

1
2
3
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_bin
그 외 dump 파일에도 utf8mb4를 적용하려면 아래 파일을 수정한다.

1
sudo vi /etc/my.cnf.d/mysql-clients.cnf
아래 내용을 추가 한다.

1
2
3
4
[mysql]
default-character-set=utf8mb4
[mysqldump]
default-character-set=utf8mb4
테이블명의 대소문자 구분
Windows, MacOS의 경우 MariaDB 에서 테이블명의 대소문자를 구분하지 않으나 Linux에 설치시에 테이블명의 대소문자를 구분한다.
예로 테이블 "test"와 "Test"는 Windows, MacOS에서는 같은 테이블이나 Linux에서는 다른 테이블이다.
Linux에서도 테이블명에 대소문자를 구분하지 않으려면 설정 값을 추가해 주어야 한다.

1
sudo vi /etc/my.cnf.d/server.cnf
아래 내용을 추가 한다.

1
2
[mysqld]
lower_case_table_names=1
auto commit
mariadb 의 autocommit 옵션은 기본적으로 ON(TRUE, 1) 상태이다.
INSERT, UPDATE, DELETE 구문을 실행하면 COMMIT 없이 바로 적용된다.
autocommit 옵션을 OFF(FALSE, 0) 하려면 아래 파일을 수정한다.

1
sudo vi /etc/my.cnf.d/server.cnf
아래 내용을 추가한다.

1
2
[mysqld]
autocommit=0
transaction isolation
mariadb에는 트랜잭션을 제어하는 네가지의 isolation level 이 있다.

READ UNCOMMITTED
다른 트랜잭션에서 commit 하지 않은 데이터까지 보임
READ COMMITTED
다른 트랜잭션에서 commit한 데이터까지 보임
REPEATABLE READ
mariadb 기본 설정값으로 다른 트랜잭션의 commit 여부와 상관없이 현재 트랜잭션이 접속한 시점의 데이터만 보임
SERIALIZABLE
현재 트랜잭션에서 작업중인 모든 데이터에 LOCK 발생, 다른 트랜잭션에서는 LOCK 데이터 접근 불가
isolation을 변경하려면 아래 파일을 수정한다.

1
sudo vi /etc/my.cnf.d/server.cnf
아래 내용에 변경하려는 isolation을 추가 한다.

1
2
[mysqld]
transaction-isolation=READ-COMMITTED
oracle과 유사하게 설정하려면 isolation 은 "READ COMMITTED", autocommit 은 "0" 으로 설정
DB 접속 GUI 툴의 접속 환경 설정에 따라 변경될 수 있으니 접속후 설정 값을 확인해 볼 필요가 있다.
DBeaver 툴의 경우 툴바에 모드 변경 메뉴가 있어 접속 후에 조정이 가능하다.
MySQL Workbench의 경우 접속시 서버 설정과 관계없이 기본으로 isolation은 "REPEATABLE READ", autocommit 은 "1" 로 설정하여 접속한다.

1
SELECT @@autocommit, @@tx_isolation;
현재 접속한 트랜잭션의 설정을 확인 한 후 변경이 필요하면 아래와 같이 한다.

1
2
SET autocommit = 0;
SET tx_isolation = 'READ-COMMITTED';

...[더 보기]


hi
이전글  다음글  목록 글쓰기

총 게시물 482건, 최근 0 건 안내 RSS
번호 이미지 제목 날짜 조회
282  겨울철 제주 넙치농어 루어낚시 포인트 12-11 3469
281  [청소프로] 파주 아파트 청소시공 해드립니다. 12-06 980
280  [한예슬 is,유튜브] (ENG) 베를린 빈티지 쇼핑 고고!! (During the day in Berlin) 12-06 1813
279  아시아 최대규모 제주항공우주박물관 <입장료 할인권> 11-29 1587
278  제주 마라도여객선 전화번호 안내 <제주도in 여행 제주투어> 11-28 2166
277  98회 진흥회 한자기출문제 자료실 등록완료 <에듀미랑> 11-25 1101
276  11월 제주도 가볼만한곳 30선 베스트 관광지, 두번째(2st) 11-19 1053
275  한국어문회 한자능력검정시험 2년수강 패키지강의 이벤트(전체급수교재포함) 11-15 1067
274  어문회 준6급 한자 강의 와 교재 업데이트 <에듀미랑> 11-14 1268
273  평지에 생긴 거대한 화구, 제주 산굼부리 분화구 <제주도in 여행 할인쿠폰> 11-11 1076
272  한자급수강의 신규사이트 [에듀미랑] 오픈!! 11-09 1076
271  제주 도치돌목장 (알파카목장) <입장료할인권> 11-07 2054
270  인터넷 동영상강의 인강 홈페이지 [데모사이트] 오픈은 11월 초!! 10-30 1215
269  CentOS 에 Memcached 설치 하기 10-29 1219
268  CentOS7에 Php 삭제 후 Php5.6 설치 (호환성 관련 모듈 전체 설치방법) 및 (php56-imap 개별설치 방… 10-24 1196
267  Centos 7 - phpMyAdmin 설치 10-24 893
266  [centos] php-mcypt 설치 (각 php 모듈 yum 설치의 기본방법) 10-24 985
265  CentOS 7 방화벽 해제 10-23 721
264  [리눅스] mailx 설치 10-23 758
263  [리눅스] mailx 사용법/명령어 10-23 2015
262  Centos7 Sendmail 설치 및 설정 10-23 1118
261  방화벽 firewall-cmd 설치 실행 10-23 951
260  리눅스 centos7 - telent 원격지 접속을 해보자 10-23 799
259  CentOS7.x 에서 php7.x 에서 php5.6.x 버전으로 다운그레이드하는 방법 10-23 652
258  리눅스에서 Apache, PHP, MySQL 등 제거 방법 10-23 865
257  [CentOS 7] MariaDB 10.1.21 삭제 10-23 634
256  centos 7 mariadb 설치 10-22 957
255  10월 제주도 가볼만한곳 베스트 관광지 30선 (네번째) 10-19 938
254  10월 제주도 가볼만한곳 베스트 관광지 30선 (세번째) 10-19 770
253  10월 제주도 가볼만한곳 베스트 관광지 30선 (두번째) 10-19 749
252  10월 제주도 가볼만한곳 베스트 관광지 30선 (첫번째) 10-19 851
251  [제주관광공사] 10월 놓치지 말아야 할 제주 관광 10선 (후불할인권무료제공) 10-16 1481
250  상가 사무실 등 청소전문업체 『크린프로』 10-04 1116
249  10월 제주도 가볼만한곳 가을여행코스 여행지 추천 『제주하르방투어』 10-04 1111
248  동영상 인코딩용 PC 견적사양 10-02 749
247  PC견적서 10-01 911
246  제주도관광지도출력 (A4) 프린트 출력 『제주도in 여행 할인쿠폰』 09-26 1072
245  제주도 10월 특가 여행 상품 『제주도in 여행 할인쿠폰』 09-21 710
244  제주도 9월 가볼만한곳 10곳 (제주할인쿠폰_할인입장) 09-18 820
243  인강사이트제작 『비전스튜디오』 09-10 946
목록
처음  1  2  3  4  5  6  7  8  9  10  다음  맨끝

 
스폰서링크
edugroup.co.kr edume.co.kr vstudio.co.kr jejudoin.co.kr enuribook.co.kr 이니시스에스크로확인증 클릭하시면 이니시스 결제시스템의 유효성을 확인하실 수 있습니다.
대한민국 교육포털 커뮤니티 사이트 에듀고시넷 방문을 환영합니다. 문의는 질문게시판을 이용해주세요.
문의전화 : 032-661-6202 / H.P : 010-2037-1497 Copyright ⓒ www.edugosi.net. All rights reserved. Since 2014.