[CentOS] Maria DB
programming/os

[CentOS] Maria DB

16. Maria DB


16.1 Maria DB


16.1.1 MySQL

1994년 mysql 발표(개발자인 마이클 몬티 와이드니어스의 첫째 딸 My의 이름을 따서 mysql이라고 명명함)

2008년 Sun Microsystems에서 10억 달러에 인수

2010년 Sun Microsystems를 오라클에서 인수하여 현재는 Oracle의 제품


16.1.2 Maria DB

mysql과 동일한 소스 코드를 기반으로 개발됨

오라클 소유의 불확실한 MySQL의 라이센스 상태에 반발하여 만들어짐

mysql과 높은 호환성

주개발자는 mysql을 개발한 마이클 몬티 와이드니어스(Michael Monty Widenius)

그의 둘째 딸 Maria의 이름을 따서 MariaDB라고 명명함


16.2 Maria DB 설치


MariaDB 웹사이트 : http://mariadb.org


파란색으로 표시된 명령어는 Centos 터미널에서 실행

주황색으로 표시된 명령어는 MariaDB 터미널에서 실행


mariadb 클라이언트 설치

yum -y install mariadb


mariadb 서버 설치

yum -y install mariadb-server


mariadb 서비스 시작

systemctl start    mariadb.service


maria db 접속

mysql


MariaDB 터미널에서 Characterset 관련 설정 정보 확인

show variables like 'c%';

MariaDB에서 한글을 사용하기 위해서는 latin1으로 설정된 부분들을 utf-8로 변경해야 함


gedit /etc/my.cnf


10번 라인에 추가 → character_set_server = utf8


maria db 서비스 재시작

systemctl restart mariadb.service


MariaDB에 접속하여 utf8로 변경된 것 확인

mysql


변경된 Characterset 확인

show variables like 'c%';


데이터베이스 추가

create database web;


사용자 계정 추가

create user '아이디'@'호스트' identified by '비번';

create user 'spring'@'%' identified by '1234';

create user 'spring'@'localhost' identified by '1234';

flush privileges;


권한 부여

grant 권한들 on 데이터베이스.테이블 to '아이디'@'호스트';

grant all privileges on web.* to 'spring'@'%';

grant all privileges on web.* to 'spring'@'localhost';


데이터베이스 목록 확인

show databases;


사용할 데이터베이스 선택

use 데이터베이스

use mysql;


user 테이블 확인(비밀번호가 암호화되어 있음)

select host, user, password from user;


테이블 목록 확인

show tables;


외부접속을 위해 방화벽 설정 변경

firewall-cmd    --add-port=3306/tcp    --permanent

firewall-cmd    --reload


또는

firewall-config


16.3 MariaDB에 접속


윈도우즈의 Heidi SQL에서 리눅스 서버에 접속


호스트 : 리눅스의 IP 주소

사용자 : spring

비밀번호 : 1234

포트 : 3306 (기본포트)


쿼리 탭을 클릭한 후 작성

use web;

create table guestbook (

idx int not null auto_increment primary key,

name varchar(50) not null,

email varchar(50) not null,

passwd varchar(50) not null,

content text,

post_date datetime

);


insert into guestbook (name, email, passwd, content, post_date)

values ('kim', 'kim@nate.com', '1234', '방명록...', now());