본문 바로가기
Linux/Rocky Linux

[Rocky Linux] 11. 데이터베이스 서버 구축 및 운영

by 박기린 2024. 12. 11.
본 내용은 대학 강의시간에 배운 내용을 따로 정리하는 글로, 독자를 구체적으로 정하지 않고 썼습니다.
따라서 읽기에 많은 불편함이 있습니다.

다른 글을 읽으시는 것을 적극 권장드립니다.

mariaDB 운영

Sever 가상 머신을 초기화하고 시작합니다.

https://cafe.naver.com/thisislinux/7527

위 링크에서 마리아DB 10.10 설치파일 다운로드합니다.

 

 

 

tar xfz mariadb10.10.tgz
dnf -y install *.rpm

압축해제 후 내부 rpm 파일 전부 설치합니다.

 
 

systemctl restart mariadb
systemctl enable mariadb

mariadb 재시작

 

 

firewall-config

위 사진대로 방화벽 설정에서 mysql을 허용합니다. + ‘영구적’ 지정

 

 

 

mysql

mysql 실행해봅니다.

 

 

 

이때 MariaDB가 뜨면 잘 설정된 것입니다.

 
 

 

mysqladmin -u root password '1234'

maria Root계정에 비밀번호 지정해줍니다.

실습의 편의성을 위해 ‘1234’로 지정합니다.

 

 

 


Windows에서 mariaDB로 접속하기

WinClient 가상머신을 초기화 한 후 실행합니다.

https://cafe.naver.com/thisislinux/7527

위 링크에서 마리아DB 윈도우용 설치파일을 다운로드합니다.

다운받은 파일 설치진행

 

 

 

client 빼고 전부 X로 지정합니다.

 
 

cd "C:\Program Files\MariaDB 10.9\bin\"
dir mysql.exe

powershell을 이용해서 mysql 설치를 확인합니다.

 
 

cmd

mysql은 cmd에서 입력해야 작동합니다.

 
 

mysql -h 192.168.111.100 -u root -p

server ip의 mysql의 root 접속 시도

server client에서 진행하는 게 아니면, 외부에서 root로 로그인할 시 비밀번호가 맞더라도 차단합니다.

그래서 윈도우용 사용자를 만들기 위해 Sever 클라이언트로 돌아옵니다.

 
 

mysql
> USE mysql;
> SELECT user, host FROM user WHERE user NOT LIKE ''; // localhost에 등록된 유저 체크
> GRANT ALL ON *.* TO winuser@'192.168.111.%' IDENTIFIED BY '4321';

위 과정을 통해 winuser 계정을 생성합니다.

다시 WinClient로 돌아와서

 
 

mysql -h 192.168.111.100 -u winuser -p

Server의 MariaDB에 접속합니다.

이제 잘 됩니다.

 

 

 


쇼핑몰DB 구축

WinClient, Sever 가상머신 아무거나 상관없이 진행합니다.

 
 

// mysql 진입 상태에서 순차적으로 입력
CREATE DATABASE shopping_db CHARACTER SET utf8;
// utf8을 지정하면 한글 입력도 잘 지원한다.

USE shopping_db

CREATE TABLE customer (
id VARCHAR(10) NOT NULL PRIMARY KEY,
name VARCHAR(5),
age INT,
address VARCHAR(5) );

CREATE TABLE purchase (
no INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
cust_id VARCHAR(10),
data CHAR(8),
product VARCHAR(5) );
 

DESC 명령어로 각 테이블의 구성을 쉽게 확인할 수 있습니다.

 
 

INSERT INTO customer VALUES ('hong', '홍길동', 22, '경기');
INSERT INTO customer VALUES ('park', '박길동', 23, '서울');
INSERT INTO customer VALUES ('kim', '김길동', 30, '충북');
INSERT INTO customer VALUES ('lee', '이길동', 28, '강원');

customer 테이블에 레코드를 입력합니다.

 
 

INSERT INTO purchase VALUES (null, 'hong', '20160122', 'TV');
INSERT INTO purchase VALUES (null, 'park', '20160211', 'TV');
INSERT INTO purchase VALUES (null, 'kim', '20160211', '냉장고');
INSERT INTO purchase VALUES (null, 'hong', '20160222', '세탁기');
INSERT INTO purchase VALUES (null, 'lee', '20160311', '비디오');

purchase 테이블에 레코드를 입력합니다.

auto increment로 ‘no’ 속성을 지정했기 때문에, null을 넘버(일련번호) 값으로 줍니다.

 

 

 

입력완료

 
 

 

SELECT * FROM customer;
SELECT * FROM purchase;

SELECT 명령어로 입력을 확인합니다.

 

 

 


Windows와 MaraioDB 연동하기

WinClient로 진행합니다. Visual Studio를 다운로드 해줍니다.

 

 

 

 

설치가 완료 되었다면 실행해 줍시다.

 

 

 

 

다음으로 MariaDB 접속을 위한 connector/ODBC 설치를 진행합니다.

강의자료로 받은 chapter11 파일에서 MySQL Connector/ODBC setup을 실행합니다.

 

 

 

 

Typical 설정으로 설치를 진행합니다.

 

 

 

 

 

MARIA 접속을 위한 ODBC 연결 설정은 위 사진과 같이 진행합니다.

[제어판 - 시스템 및 보안 - ODBC 데이터 원본 - 시스템 DSN - 추가 - 두번째 옵션 - 마침]

 

 

 

 

설정을 마치면 위와 같은 설정 화면이 뜹니다.

차례대로 입력하고 TEST 후, OKAY 해줍니다

 



다음으로 .Net Framework 3.5 사용 설정을 진행하겠습니다. 검색 기능으로 Windows 기능 켜기/끄기로 접근하면 편합니다.

.Net Frameowrk 3.5 , 4.8 켜두겠습니다.

설정을 완료했다면, VS2022를 실행하여 MariaDB 접속을 위한 ASP.NET 웹 응용프로그램 작성을 진행하겠습니다.

 

 

 

 

C# → ASP NET Web Forms 사이트 선택

 

 

 

Net Framework 3.0으로 선택 후 ‘만들기’ 실행을 합니다.

 

 

 

 

SqlDataSource를 불러온 후, 우클릭을 합니다.

‘데이터 소스 구성’ 클릭

 

 

 

[새연결 - OOBC 데이터소스 - 계속]

 

 

 

 

MariaOOBC를 지정한 후, 로그인 정보를 입력합니다.

 

 

 

 

 

 

계속해서 다음으로 넘어갑니다.

 

 

 

SQL문 부분에 SELECT * FROM customer을 작성하고, 넘어갑니다.

 

 

 

 

쿼리 테스트를 진행할 때 위 사진과 같이 표가 뜬다면, ‘마침’을 누릅니다.

 

 

 

 

도구 상자에서 GridView를 선택합니다.

 

 

사진의 형광펜 부분을 수정합니다.

데이터 소스 선택 : sqlDataSource#

페이징 사용 체크

 

 

 

모두 저장 , 그리고 다시 파일 - 브라우저에서 보기를 선택합니다.

 

 

 

 

본인이 지정한 자동 서식으로, 표가 보이는 것을 확인할 수 있습니다.

 

 

 


Oracle Database Express 18c 설치

https://cafe.naver.com/thisislinux/7527

위 링크에서

 

 

 

Oracle 18c 사전 설치 파일, Oracle 18c Express 파일을 다운로드합니다.

 

 

 

사전 설치파일을 압축 해제합니다.

 
 

 

dnf -y install compat*.rpm
dnf -y install oracle*.rpm
dnf -y install libnsl

사전 패키지들을 설치합니다.

 
 

dnf -y install oracle-database-xe-18c-1.0-1.x86_64.rpm 

oracle db 본 파일을 설치합니다.

설치를 마치면, oracle db 설정을 진행해야 합니다.

 
 
 

service oracle-xe-18c configure

위 명령어를 입력해서 접속하면 처음에 패스워드를 입력하라고 뜹니다.

실습의 용이성을 위해 ‘password’를 비밀번호로 지정합니다.

그러면 초기 설정을 시작하는데, express 버전임에도 꽤 오래 걸립니다.

마음 넉넉하게 잡고 기다립니다.

 

 

 

완성

 
 
 

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=1521/tcp
firewall-cmd --reload

oracle db 서버가 사용할 포트(8080, 1521)도 열어줍니다.

 
 
 

mkdir /oradata
chomod 777 /oradata

앞으로 사용할 데이터 파일을 저장해야 하는데, 파일을 저장할 폴더를 하나 만듭니다.

 
 
 

su - oracle

oracle의 사용자 이름은 oracle입니다.

oracle 사용자로 접속합니다.

 
 
 

nano .bash_profile

oracle 사용자의 bash_profile을 수정해야 합니다.

 
 
 

export ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_SID=XE
export ORAENV_ASK=NO
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG=KOREAN_KOREA.AL32UTF8

위 코드를 하단에 추가하면 됩니다.

 

 

 

 


Oracle에서 쇼핑몰 DB 구축

sqlplus

사용자명 : system
비밀번호 : password

sqlplus를 실행한 후, 관리자 계정을 위와 동일하게 생성합니다.

 
 
 

CREATE TABLESPACE shopping_db DATAFILE '/oradata/shop.dbf' SIZE 5M;

shopping_db를 생성합니다.

 

 

 

CREATE TABLE customer (
id VARCHAR(1) NOT NULL PRIMARY KEY,
name NCHAR(5), 
age INT,
address NCHAR(5) ) TABLESPACE shopping_db;

customer 테이블을 생성합니다.

address(주소)는 한글로 값을 받으려고 하는데, NCHAR로 지정해야 한글 사용이 가능합니다.

 

 

 

 

한 줄 치고 enter하면, 옆에 숫자가 뜨는데, 계속 이어서 작성할 수 있습니다.

‘;’가 입력되면, 그때 입력을 멈추고 한번에 sql문이 실행됩니다.

 

 
 

DESC customer;

DESC 명령어로 테이블 생성을 확인합니다.

 
 
 

INSERT INTO customer VALUES ('hong', '홍길동', 22, '경기');
INSERT INTO customer VALUES ('dang', '당탕이', 23, '충북');

테이블에 필드 입력은 ‘INSERT INTO’ 문을 사용합니다.

 
 
 

SELECT * FROM customer;

SQL의 SELECT 명령어를 이용해서 테이블에 등록된 값을 확인할 수 있습니다.

 

 

 

반응형