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

centos 7 mariadb 설치

에듀고시넷 2019-10-22 (화) 19:53 5년전 1223
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
이전글  다음글  목록 글쓰기

총 게시물 576건, 최근 0 건 안내 RSS
번호 이미지 제목 날짜 조회
576  워드프레스 플러그인 업데이트 안될 때 조치 방법 (WordPress 업그레이드 SSL 오류 우회 방법) 12-16 61
575  제주여행 등산 낚시 골프 레저동호회 홈페이지 등낚골 안내영상 12-12 138
574  제주도 여행 해돋이 일출명소 안내 영상 12-12 152
573  부동산경매 입문자를 위한 인터넷강의 홈페이지 에듀미랜드 안내영상 12-11 152
572  제주에서 직접 잡아올린 무늬오징어 숯불구이 영상 (달달하고 쫄깃하고 고소한 무늬오징… 12-01 94
571  제주도 날씨 확인을 하고 싶을 때 제주도 실시간 CCTV 홈페이지 추천 11-28 92
570  인강홈페이지 구축사이트 『교육닷넷』 11-14 112
569  한공사 홈페이지 PDF 배정한자교재 구매이벤트(배정한자 인터넷강의 무료수강오픈 Event) 11-09 110
568  마라도가는여객선+환상의짜장 패키지 할인권 #마라도여행 #마라도자장면 11-08 134
567  네이버쇼핑몰 제주도 제철과일 레드키위 판매하고 있네요 #주문하세요 10-18 158
566  [제주골프조인] 제주 타미우스CC 1명 초대합니다 #그카세55000원 10-16 169
565  제주 2인 골프 노캐디 셀프라운딩 요금 및 부킹스케줄표 확인 후 골프예약하세요 #제주골… 10-12 174
564  제주 에버리스CC 골프라운딩 3명 초대합니다(10월11일 금요일 오후 12시 10분 티업) 10-10 212
563  인터넷강의 홈페이지(보안포함) 개발구축에 대한 상세한 설명입니다 10-09 176
562  청정해역 주자도 자연산 참홍합(섭) 주문받습니다 #제주에누리쇼핑 10-04 211
561  에듀미랑 검정회 한자강의(배정한자인강) 수강료 할인쿠폰 제공합니다 09-27 256
560  제주특산물 할인판매 인터넷쇼핑몰 제주에누리쇼핑 09-18 272
559  제주도 무늬오징어 에깅 낚시포인트 6곳(서쪽방면) 공개합니다. 09-13 352
558  제주 타미우스CC 도민 특가 이벤트 #제주골프 09-11 260
557  [24.9.5] 제주도 무늬오징어 낚시 새벽에깅 출조 암놈 1마리 히트 #시즌108호 09-05 255
556  AhrefsBot 차단하는 방법 09-05 303
555  페이스북 크롤러 완벽차단 방법 #웹서버과부하해결 09-05 292
554  9월 제주여행 계획중이라면? 제주도 렌터카 최저가 비교예약 하세요! 09-04 317
553  제주도 무늬오징어 낚시 국민 에깅포인트 실시간 CCTV 09-02 302
552  8.31(토) 제주도 무늬오징어 낚시 데이게임 에깅출조하여 6마리 잡았네요! #등낚골 09-02 362
551  [8.27] 제주도 무늬오징어 낚시 새벽에깅출조, 한치 2마리+무늬 1마리 잡았네요 #시즌100호달… 08-27 380
550  365한국청소업체, 청소대행업체 청소가격 무료견적신청 하는 방법안내! 08-21 836
549  8월 제주여행 제주렌터카 최저가 비교예약 방법안내! 08-11 403
548  정기청소가격이 궁금하시면? 365전국정기청소 홈페이지 무료견적신청 하세요! 07-28 397
547  제주도 실시간 날씨 CCTV로 확인하는 사이트, 제주도CCTV 07-28 456
546  제주 무늬오징어 낚시 애월 방면 에깅포인트(한치낚시포인트) 공개! 07-26 396
545  장마 끝난 후 곰팡이제거 청소작업 맡기실 분들은? 07-25 426
544  상병수당이란? 07-24 439
543  365전국정기청소 정기청소가격 무료견적신청 하면, 청소비용 할인해드립니다! 07-22 804
542  제주도 중문 해수욕장 실시간 CCTV 07-20 384
541  제주도 제주 공항 실시간 CCTV 07-20 291
540  제주도 용두암 해안 실시간 CCTV 07-20 280
539  제주 한라산 윗세오름 실시간 CCTV 07-20 286
538  제주도 법환 포구 실시간 CCTV 07-20 282
537  제주도 탑동 해안 실시간 CCTV 07-20 264
목록
 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.