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

centos 7 mariadb 설치

에듀고시넷 2019-10-22 (화) 19:53 4년전 937
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
번호 이미지 제목 날짜 조회
322  국가 긴급재난지원금 조회 및 신청 안내 05-17 802
321  평촌청소업체 [청소프로] 소개합니다 05-09 1133
320  [청소프로] 서울 원룸 입주청소 시공작업 04-11 2128
319  경기도 재난기본소득 신청 홈페이지 04-10 1024
318  ionCube 9 업그레이드 04-08 891
317  기업은행 소상공인 초저금리 코로나 사업자대출 서류제출 절차인내 04-07 3028
316  한자한문지도사 3급 인터넷강의 사이트 『에듀미랑』 04-06 888
315  제주 서귀포 산남 농어 포인트 알려드립니다 04-05 4352
314  4월 제주여행 베스트 관광지 30선 리스트 『제주할인권』 04-04 856
313  4월 2일 목요일 [김포-제주] 편도 항공권 초저가 12,000원 ~ 부터 시작 04-02 1001
312  한자시험 인터넷강의 사이트 『한공사』 03-29 1617
311  경기도 청소잘하는 업체 『청소프로』 03-27 958
310  3월 제주도 가볼만한곳 베스트 관광지 30선 그 세번째 리스트 [제주하르방투어] 03-22 803
309  청소프로에서 청소 쇼핑몰 링크제휴 받습니다 03-16 757
308  [청소프로] 인천 송도 이사청소 시공해드립니다 03-11 718
307  대한검정회준2급 인터넷강의 사이트 <에듀미랑> 03-11 1087
306  공인중개사 인강사이트 <에듀미랜드> 03-06 961
305  공인중개사 시험준비 <에듀미랜드> 인터넷강의로 시작하세요 03-05 849
304  [한공사] 아동한자지도사 및 한자한문지도사3급 인강할인 이벤트(~3.8 까지) 03-04 933
303  [청소프로] 입주 청소 비용 안내해드립니다 03-02 863
302  입주청소전문 청소대행업체 <청소프로> 좋아요 03-01 998
301  3월 제주여행준비 &lt;렌터카&gt; K5 및 LF소나타 LPG차량 즉시예약 렌트비 11,200원 완전… 02-29 1357
300  2월 제주도 가볼만한곳 인기 베스트 관광지 30선 (첫번째 리스트) 02-10 999
299  집 사무실 내 바이러스 살균소독업체 <청소프로> 02-08 896
298  [청소프로] 안산 아파트 청소시공 해드립니다 02-06 1000
297  신종 코로나바이러스 실시간 상황판 홈페이지 02-03 2348
296  설연휴 기간 제주가볼만한곳 관광지 추천 <하르방투어> 01-26 863
295  2020년도 제주자유여행 "제주숙박예약" 이벤트 <제주도in 여행 제주닷컴> 01-16 1039
294  제주관광지 입장료 선불&후불&패키지 할인쿠폰의 할인율 비교<제주도in 여행 할인쿠폰> 01-15 1944
293  낚시용어정리 (A to Z) 01-15 801
292  2020 공인중개사 부동산중개사시험 일정 (31회) 01-12 6642
291  인터넷 노출 잘 되는 인강 이러닝 솔루션 홈페이지 <교육닷넷> 01-10 983
290  2020 공인중개사 연회원종합반 프리패스(1년전체과정) 인터넷강의 입니다.. 01-10 1841
289  전국의 청소업체들은 한국청소협회에 홍보하세요 01-07 1037
288  에듀미랑 사이트 '네이버아이디'로 회원가입 및 로그인 가능합니다. 12-30 882
287  2020년도 새해 집안 대청소가 필요하시면 <청소프로> 전문가들에게 맡기세요! 12-29 833
286  1월 제주도 가볼만한곳 5곳 인기관광지 (후불할인입장권으로 할인결제 입장하세요) 12-24 2422
285  [청소프로] 서울 리모델링후청소 시공해드립니다 12-15 1141
284  서울 인천 경기 전지역 청소대행전문업체 <청소프로> 12-14 872
283  제주 농어 루어 낚시 포인트 안내 12-12 8808
목록
처음  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.