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

centos 7 mariadb 설치

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

총 게시물 485건, 최근 1 건 안내 RSS
번호 이미지 제목 날짜 조회
165  4월 2일 목요일 [김포-제주] 편도 항공권 초저가 12,000원 ~ 부터 시작 04-02 1026
164  제주도 2박3일 관광하기 '제주모바일쿠폰' 09-12 1019
163  디지털마케팅전문가 2급문제 (샘플) 04-21 1019
162  제주도 가볼만한곳 세리월드 감귤체험 (감귤농장) 『하르방투어』 11-20 1018
161  우도 배 결항 및 운항 여부를 실시간 CCTV로 빠르게 확인하세요 #제주투어 #우도여행 #우도… 08-30 1014
160  인터넷 노출 잘 되는 인강 이러닝 솔루션 홈페이지 <교육닷넷> 01-10 1012
159  부천시장 선거 후보 기호 6번 윤병국 06-11 1002
158  제주 바다 실시간 cctv 사이트 하르방투어 09-07 1000
157  그누보드 게시글 삭제시 첨부 이미지 함께 삭제하기 06-03 998
156  [centos] php-mcypt 설치 (각 php 모듈 yum 설치의 기본방법) 10-24 993
155  전라남도 교육감 선거 후보 장석웅 1 06-11 992
154  centos6-apache 설치 (2.4.10)_php(5.6.4) 컴파일 설치 07-07 992
153  6월 제주도 가볼만한곳 『야간』 관광지 06-15 989
152  [제주관광공사] 9월 가볼만한 제주관광 10선 '하르방투어' 09-20 987
151  [청소프로] 파주 아파트 청소시공 해드립니다. 12-06 987
150  공인중개사 인강사이트 <에듀미랜드> 03-06 987
149  제주 자유여행 준비 『항공 숙박 렌터카 에어카텔 관광지할인권』 06-22 986
148  워드프레스 "데이터베이스 연결 안됨" 및 "/tmp/mysql.sock" 없음 에러 발생시 해결방법 06-22 985
147  윈도우7 USB 부팅 설치 디스크 만들기 (ISO 다운로드) 06-02 982
146  경기도 청소잘하는 업체 『청소프로』 03-27 981
145  [이벤트] 교육닷넷 인터넷강의 이러닝솔루션 호스팅 2년간 사용계약 비용 할인 이벤트 #교… 03-15 981
144  6월 제주도 가볼만한곳 『잠수함 유람선 요트』 관광지 06-11 979
143  입주청소비용 청소업체 『청소프로』 08-01 977
142  10월 제주여행 렌터카 및 숙박 온라인예약 이벤트 10-14 977
141  공인중개사 교재 추천 인터넷서점 『랜드미』 11-16 975
140  소상공인 방역지원금 300만원 신청 홈페이지 안내 #소상공인 #방역지원금 #홈페이지 #300만… 02-24 975
139  12월 제주도 가볼만한곳 제주관광지 10선 『제주하르방투어』 11-22 965
138  구글애드센스 11월 지급보류 뜨는 경우 11-27 965
137  1월 아파트 사전점검일 입주청소『청소프로』(고양/오산/평택/인천/동탄) 12-31 965
136  centos 7 mariadb 설치 10-22 965
135  제주 갈치조림 맛집 추천 08-09 964
134  방화벽 firewall-cmd 설치 실행 10-23 960
133  제주 무늬오징어 포인트 1곳 공개합니다 10-07 959
132  [한공사] 아동한자지도사 및 한자한문지도사3급 인강할인 이벤트(~3.8 까지) 03-04 956
131  인강사이트제작 『비전스튜디오』 09-10 951
130  10월 제주도 가볼만한곳 베스트 관광지 30선 (네번째) 10-19 946
129  제주형 재난긴급생활지원금 신청 안내 05-21 938
128  [50%↓] 한공사 아동한자지도사 인터넷강의 수강할인 이벤트 진행 ( ~ 6.30 까지) 06-25 930
127  제주도 1월 가볼만한곳 여행지 30선 그 두번째✔『하르방투어』 01-18 926
126  네이버 블로그 SNS 공유 버튼 만들기 (글보내기 소스코드) 08-28 925
목록
처음  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.