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

centos 7 mariadb 설치

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

총 게시물 59건, 최근 0 건 안내 RSS
번호 이미지 제목 날짜 조회
59  카카오톡 아이디를 사용하여 사이트(홈페이지) 회원가입 및 로그인 안될 때 조치방법 (ft.… 02-16 90
58  Lets’ Encrypt certbot-auto 사용한 인증서 갱신 02-03 107
57  크롬 브라우저 북마크 간격 줄이기 (23.12.22) 성공함 #크롬 #북마크 #간격줄이기 #대성공 12-22 212
56  강의촬영스튜디오, 비전스튜디오 인터넷강의 사이트 무료구축 이벤트 #동영상홈페이지 #… 07-10 421
55  (교육닷넷) 인강홈페이지 구축 이러닝솔루션 계약시, 전자칠판 강의촬영비 할인(-50%) #전자… 05-28 553
54  ITQ 자격증 시험 인터넷강의(동영상강의) 한글/엑셀/파워포인트 #ITQ한글 #ITQ엑셀 #ITQ파워포… 04-29 243
53  워드프레스 SMTP 플러그인 없이 이메일 보내기 #워드프레스 #이메일보내기 #SMTP #플러그인 02-23 451
52  저렴한 비용의 동영상강의 홈페이지 만들기 추천 #교육닷넷 #동영상강의홈페이지구축 #동… 09-25 1345
51  강의홈페이지 구축시 동시접속자 트래픽 비용은 발생하는가요? #교육닷넷 #이러닝솔루션 #… 07-22 1733
50  이러닝호스팅이 무엇인가요? 01-26 769
49  교육닷넷 이러닝 인강 호스팅 홈페이지 솔루션안내 및 신청방법안내 #교육닷넷 12-07 3326
48  그누보드 등 메일 테스트 에러가 나는 경우 조치 방법은? 08-31 813
47  네이버 밴드 SNS 공유 버튼 만들기 (글보내기 소스코드) 08-28 990
46  네이버 블로그 SNS 공유 버튼 만들기 (글보내기 소스코드) 08-28 850
45  apache 에서 mod_rewrite 활성화 안될때 (워드프레스 등에서 도메인 하위 경로명 오류 날때) 08-25 771
44  AAI CentOS8 - APM AUTO INSTALL V.1.0 08-24 1650
43  리눅스 서버 사용자별 하드디스크 공간 할당 명령어 쿼터(Quota) 06-20 775
42  교육닷넷 동영상강의 홈페이지 이러닝솔루션 판매 (소스코드 제공되며 자체 커스터마이징… 06-06 1429
41  인터넷 노출 잘 되는 인강 이러닝 솔루션 홈페이지 <교육닷넷> 01-10 949
40  인터넷 동영상강의 인강 홈페이지 [데모사이트] 오픈은 11월 초!! 10-30 1158
39  CentOS 에 Memcached 설치 하기 10-29 1164
38  CentOS7에 Php 삭제 후 Php5.6 설치 (호환성 관련 모듈 전체 설치방법) 및 (php56-imap 개별설치 방… 10-24 1143
37  Centos 7 - phpMyAdmin 설치 10-24 836
36  [centos] php-mcypt 설치 (각 php 모듈 yum 설치의 기본방법) 10-24 931
35  CentOS 7 방화벽 해제 10-23 671
34  [리눅스] mailx 설치 10-23 709
33  [리눅스] mailx 사용법/명령어 10-23 1959
32  Centos7 Sendmail 설치 및 설정 10-23 1066
31  방화벽 firewall-cmd 설치 실행 10-23 905
30  리눅스 centos7 - telent 원격지 접속을 해보자 10-23 750
29  CentOS7.x 에서 php7.x 에서 php5.6.x 버전으로 다운그레이드하는 방법 10-23 606
28  리눅스에서 Apache, PHP, MySQL 등 제거 방법 10-23 809
27  [CentOS 7] MariaDB 10.1.21 삭제 10-23 582
26  centos 7 mariadb 설치 10-22 899
25  동영상 인코딩용 PC 견적사양 10-02 691
24  PC견적서 10-01 858
23  네이버 애드포스트 리뷰 활용 동의 08-10 847
22  크롬 7.2버전 플래시 항상 허용하는 방법이 있네요..ㅋㅋ 03-21 1090
21  [Apache]exit signal Segmentation fault (11) 오류 03-19 1044
20  [CentOS7 + APM 설치] Apache Php Maria DB 설치 03-12 996
목록
 1  2  맨끝

 
스폰서링크
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.