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());