※MAC Address
- Media Access Control 의 약자
- 인터넷(네트워크)에서 컴퓨터는 각자의 ip주소 가짐. 이 IP주소로 네트워크 통해 통신을 하게 됨
- 하드웨어에 지정되어 있는 주소가 있는데, 그게 바로 MAC주소이다.
- 48bit로 되어있고 표기는 16진수로 함.
- 절대 겹치지 않는 주소
- 24bit(OUI)와 24bit(NIC)로 구성
- OUI는 IEEE에서 발급 받고 공장에서 하드웨어(제품)을 만들 때 NIC 번호를 다르게 만듦 → 절대 겹치지 않음
스냅샷이란?
savepoint와 같은 개념(백업)
가상머신이 망가지는 경우가 많고, 새로 포맷하는데 시간이 많이 걸림
가상머신 복제
- 복제하고자 하는 가상머신을 스냅샷 → 초기화로 복원
- 가상머신 우클릭 → 복제
- 전문가모드 선택 - 가이드 모드가 보이면 전문가모드 선택되있음
- 이름(원하는이름으로) : DB Path는 자동으로 설정됨 복제 방식 : 완전한 복제 스냅샷 : 현재 머신 상태 추가옵션 : MAC Address Policy : 모든 네트워크 어댑터의 새 MAC 주소 생성내보내기 할 시 필요~
- finish 클릭
- 복제가 완료되면 스냅샷 → 찍기 → 초기화 하나 생성!
찍기 → 스냅샷 → 스냅샷명 : 초기화 - 원본 가상서버의 IP주소가 그대로 복제되기 때문에 복사한 가상서버의 IP주소 변경
- 오른쪽 상단(3개동시에 선택되는) 아이콘 클릭
- 유선연결됨
- 유선네트워크 설정
- 설정버튼
- IPv4탭
- 주소변경(내ip+1)
- 적용
- 켬/끔 버튼을 눌러서 네트워크를 재시작
- 다른이름으로 저장
MariaDB Database Server
가상머신 ip주소 확인
ip add
rpm -qa mysql*
⇒ 가상머신 내 mysql
⇒ 아무런 내용 표시x
⇒ centOS 6버전 이하는 mysql이 기본 데이터베이스였으나, 7버전 이상부터는 mariadb가 기본 데이터베이스로 변경됨
rpm -qa mariadb*
⇒ 마리아db 설치 확인
⇒ mariadb-libs-… 파일 존재
yum list maria*
⇒mariadb관련 파일 미리 확인
⇒ 그 중 클라이언트용 mariadb와 서버용 mariadb-server 파일 필요
yum install -y mariadb mariadb-server
⇒ 서비스를 위해서 mariadb-server를 설치하고 mariadb-server에 접속하는 용도인 클라이언트 프로그램. mariadb 설치
systemctl start mariadb
mariadb 시작
내용 안뜸
systemctl status mariadb
mariadb 확인
Active : active(running)확인
systemctl enable mariadb
리눅스가 처음 시작될 때 자동으로 mariadb 동작(시작)하도록 만듦
systemctl list-unit-files
리눅스 시작 시 자동으로 실행 여부 확인
pgDn 버튼 눌러 mariadb.service 항목 찾아 enabled 설정 확인
q로 빠져나옴
mysql -u root
show databases;
db(스키마) 확인
exit
MariaDB 설정
설정 파일 : /etc/my.cnf
cat /etc/my.cnf
- cat : 파일 내용 화면에 출력하는 명령어
- 마리아DB를 처음 설치하면 생성되는 초기의 my.cnf 파일은 내용이 적음
- 마리아DB에서 제공하는 샘플 설정 파일을 복사해서 원하는 내용을 수정해서 적용
vi /etc/my.cnf
샘플파일 : /usr/share/mysql
cd /usr/share/mysql
샘플파일이 위치한 디렉터리로 이동
ls
/usr/share/mysql 디렉터리 내용을 출력
파란색 디렉터리는 캐릭터셋(언어)
.sql : 스키마 파일(데이터베이스가 기본적으로 사용하는 구성파일)
.cnf : 설정파일
my-large.cnf, my-medium.cnf, my-small.cnf
샘플 파일.
차이점 : 내용은 같고, 캐시 메모리(임시저장공간) 부분의 설정이 다름.
small | 256MB |
medium | 512MB |
large | 1~2GB (1024MB) |
cp /usr/share/mysql/my-small.cnf /etc/my.cnf
샘플파일을 마리아DB 설정파일로 복사!
cp : overwrite ‘/etc/mt.cnf’?
⇒ 이미 my.cnf 파일이 존재하므로 덮어쓸 것인지 물어봄
→ y 입력
cd
어디에 위치해있든 사용자의 홈 디렉터리로 이동
root 사용자의 홈디렉터리는 ‘/root’ 방이다!
홈디렉터리는 ~ 표시
vi /etc/my.cnf
편집기로 바뀌면
:set nu
라인 번호 표기
22번 빈 라인에 추가 → i 눌러서 insert 모드로
default-character-set=utf8
=> 기본 언어셋을 utf8로 설정 => 마리아DB의 기본 언어셋은 '라틴1' 으로 설정되어 있어서 '한글'을 입력할 수 없다!
30번 라인 추가(29번 끝에서 엔터)
skip-name-resolve
쿼리 구문 실행 시 서버가 사용자의 소속을 알아보는 과정 생략!
빠른 성능 위해 설정
31번 라인 추가(30번 끝에서 엔터)
character-set-server=utf8
esc -> :wq
systemctl restart mariadb
변경된 설정 적용 위해 mariadb 재시작
실습 준비
mysql -u root
mariadb 접속
create database shopping_db;
db(=스키마) 생성
show databases;
use shopping_db;
shopping_db 사용
customer 테이블 생성
create table customer(
id varchar(20) not null, //(20) : 데이터타입 크기 지정
name varchar(20) not null, //(20) : 데이터타입 크기 지정
age int(11) null, // (11) : 자릿수
address varchar(100) not null,
PRIMARY KEY(id));
4개의 컬럼을 가진 테이블이 만들어짐!
purchase 테이블 생성
create table purchase(
no int(11) not null PRIMARY KEY AUTO_INCREMENT,
// 기본키를 바로 지정함
// 생성될 때마다 1씩 증가해서 입력
cust_id varchar(20) not null,
date DATETIME not null,
product varchar(10) not null);
*기본키는 중복이 안됨
show tables;
생성된 테이블 확인
desc명령어로 테이블 확인
desc customer;
desc purchase;
데이터 입력
insert into(속성1, 속성2, ...)
values(값1, 값2, ...)
select * from customer;
customer 테이블에 데이터 입력
사용자 추가
grant all on shopping_db.* to itwill@'localhost' identified by '1234';
- grant all : 모든 권한 부여(CRUD)
- on shopping_db.* : shopping_db데이터베이스 내의 모든 테이블에 적용
- (현재 customer, purchase)
- to itwill@'localhost' : mariadb가 설치된 운영체제(리눅스)에서 접속하는 itwill계정
- identified by '1234' : 비밀번호를 1234로 설정
flush privileges;
사용자와 관련된 설정 후에는 적용을 시킴
접속
mysql -u itwill -p1234
itwill 계정으로 mariadb 접속
show databases;
- mysql 데이터베이스가 보이지 않음
- mysql은 root 계정만 사용할 수 있음, 일반 유저인 itwill은 접근할 수 없다.
사용자 삭제
drop user itwill@'localhost'
root 계정만 삭제 가능
history -d 삭제할 행
mysql -u root -p
비번 입력x 그냥 엔터
아직 root 계정의 암호를 설정하기 전이므로 엔터키 눌러 접속 가능
'Network > Linux' 카테고리의 다른 글
[Linux] 리다이렉션과 데이터베이스 복구 (0) | 2023.09.14 |
---|---|
[Linux] 외부에서 mariadb 접속(리눅스 → mariadb ) (0) | 2023.09.14 |
[Linux] 리눅스 기반 워드프레스(WordPress) 생성 (7) | 2023.09.14 |
[Linux] IP주소와 NAT 알기 (0) | 2023.09.14 |
[Linux]원격 접속 프로그램 MobaXterm 설치 및 방화벽 해제, 설정하는 법 (0) | 2023.09.14 |