[DB] 윈도우에 리눅스 설치해서 DB 서버로 활용하기

작성자
dra****
작성일
2024-04-10 11:57
조회
548

아마 이번 포스팅은 많은 중소기업 관계자 분들이 관심을 가질만한 주제 일듯 합니다.

-- 개요.
1. 엑셀 시트에서 작업하다 노가다에 지침
2. 자동화를 위한 VBA 학습 시작
3. 실수로 워크 시트 날려 먹고 맨붕에 빠짐
4. 엑세서 DB활용 시작
5. 외부에서 접속의 필요성 대두 -> 웹 DB 서버 임대해서 사용
6. 서버 유지 시간대에 DB 접속은 가능하지만
필드 수정을 위한 phpmyadmin에 접속 불가 -> 이로 인한 업무 차질 발생
7. 나만의 서버가 필요하다는 생각 이 듦
8. 외부 접속도 가능해야 한다는 전제.
9. 윈도우 WSL 시스템을 활용한 리눅스 우분투를 설치하기로 결정
10. 가상 머신 등등 다양한 설치 옵션이 있지만
여러가지 사항을 고려해서
윈도우 WSL 시스템을 활용한 리눅스 우분투를 설치하기로 결정
11. 리눅스 시스템과 명령어 등 1주일 정도 학습 후 설치 시도
12. 22.04 버전 실패
13. 18.04 버전으로 다시 시도후 성공
14. 세팅후 임대 서버는 자동 백업용으로 설정하고,
현재 서버에 직원 10여명이 업무에 활용하고 있음.

-- 장점
1. 같은 공유기를 사용하는 사무실 내에서는 무한 접속 가능
192.168.1.2 ~ 192.168.255.255 까지 부여가 가능하니 접속 가능 컴터 대수는 이론상 거의 제한이 없어 보임
2. 1000개 정도의 데이터를 불러 오는데 0.0003초 걸림. 비교 불가의 빠른 속도
3. 원할 때 유지 보수가 가능함. 전기세 이외의 추가 비용이 들어가는 점이 없음
4. 웹페이지를 무한 생성해서 외부에서 사용 가능
5. FTP 서버를 만들어서 파일 공유 저장 공간으로도 활용이 가능

-- 단점
1. 관리자가 서버와 MySQL 같은 DB를 관리할 줄 알아야 함
2. 정전시 대책 없음

-- 18.04 우분투 설치 과정
아래는 제가 2개의 서버를 설치하면서 했던 과정들인데...
여러번 설치 실패 이후 2번 정도 설치 성공하니 감이 좀 옵니다.
이해가 잘 안되시면, 구글링 해서 참조 하면서 해 보셔요.
저도 우분투 왕 초보입니다.

우분투 버전 확인
lsb_release -a

0. sudo apt update && sudo apt upgrade
1. sudo apt install tasksel
2. sudo tasksel install lamp-server
3. sudo bash -c "echo -e '<?php\nphpinfo();\n?>' > /var/www/html/phpinfo.php"
4. vi /etc/apache2/apache2.conf

AcceptFilter http none
AcceptFilter https none

5. sudo service apache2 start
6. sudo systemctl enable mysql.service
7. mysql -u root

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '비밀번호';
create user 유정ID identified by '비밀번호';

8. sudo add-apt-repository universe
9. sudo apt-get update
10. sudo apt-get install phpmyadmin

11. sudo apt-get install openssh-server
12. sudo apt-get install openssh-client

13. systemctl enable apache2
14. sudo ufw enable

sudo ufw allow 3306/tcp
sudo ufw allow 80/tcp
sudo ufw allow 8080/tcp
sudo ufw allow 4422/tcp

15. sudo ssh-keygen

16. sudo nano /usr/share/phpmyadmin/libraries/plugin_interface.lib.php

Press CTRL + W and search for if (! is_null($options) && count($options) > 0) {
If not found, try search for if ($options != null && count($options) > 0)
Replace with if (! is_null($options) && count((array)$options) > 0) {
Save file and exit. (Press CTRL + X, press Y and then press ENTER)

17. sudo service apache2 stop

18. vi /etc/php/7.2/apache2/php.ini
upload_max_filesize, memory_limit and post_max_size 를 더 증가시켜야한다고 한다.

19. sudo service apache2 restart

-- DB 백업
mysqldump 를 이용해서 파일로 저장이 가능합니다.
저는 vb.net으로 자동 저장하는 프로그램을 만들어 놓았습니다.
정해진 시간때마다 usb에 파일을 저장하고 미국 DB 서버에 갱신하도록 해서
혹시 있을지 모르는 사고에 대비해, 개인서버/미국서버를 동시에 사용하도록 해 놓았습니다.

-- 결론
대용량 DB를 다루어야 하는 상황이라면 mysql, MS-SQL, SQLite, MongoDb, 등등 원하는 DB 서버를 선택해서 손쉽게 쓸수 있다는 점
10명 정도의 직원이 동시 작업하는데 부하가 전혀 걸리지 않는 다는 점
참고로 한달에 10만개 정도 레코드가 생성이 됩니다.
필요한 결과물을 엑셀 시트에 바로바로 뿌려대니 지금 의뢰하신 클라이언트 분은 대만족해서 흥분상태이심

프로그램 전공자가 아닌 아마추어 개발자가 여기까지 오는데 참 많은 시간이 걸린 듯 하네요.

아래 사진은 자동 백없 시스템입니다. timer를 이용해서 구현했습니다.
필요한 누군가에 도움이 되었으면 합니다.

 

 

신고
스크랩
공유
회원등급 : 30레벨
포인트 : 4700 EP
전체 3

  • 2024-04-12 22:06

    @dra**** 님 부우럽습니다!!


    • 2024-04-13 17:47

      @Gisele 님 구현해보세요. 구글링 해보면 생각보다 설명 잘 나와 있습니다. 생각보다 어렵지 않습니다.

       


  • 2024-05-07 11:41

    @dra**** 님 멋집니다....


전체 125
번호 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] 2024년 엑셀 공부, 이 책 한권으로 마스터하세요! (290)
오빠두엑셀 | 2022.02.03 | 추천 554 | 조회 844374
오빠두엑셀 2022.02.03 554 844374
74491
New 이름관리 엑셀 업그레이드 버전 입니다. 첨부파일 (2)
박정호 | 2024.10.28 | 추천 0 | 조회 45
박정호 2024.10.28 - 45
74354
월드컵 랭킹 계산(ELO 점수 계산) 첨부파일 (4)
박정호 | 2024.10.22 | 추천 0 | 조회 54
박정호 2024.10.22 - 54
74269
엑셀2021이하에서 CHOOSECOLS, CHOOSEROWS 처럼 동작시키기 첨부파일 (13)
마법의손 | 2024.10.18 | 추천 2 | 조회 107
마법의손 2024.10.18 2 107
74204
이름관리 엑셀입니다.(모듈) 첨부파일 (6)
박정호 | 2024.10.15 | 추천 0 | 조회 136
박정호 2024.10.15 - 136
74028
로또번호2(반자동 기능 업데이트) 첨부파일 (4)
박정호 | 2024.10.05 | 추천 1 | 조회 130
박정호 2024.10.05 1 130
74012
매장 근태관리시트 공유 첨부파일 (3)
체리로그 | 2024.10.03 | 추천 1 | 조회 125
체리로그 2024.10.03 1 125
73964
[파워쿼리] 여러열 열분할하기 첨부파일 (4)
마법의손 | 2024.10.01 | 추천 1 | 조회 103
마법의손 2024.10.01 1 103
73915
M365 GroupBy, PivotBy 함수 공식 배포 (6)
원조백수 | 2024.09.27 | 추천 2 | 조회 138
원조백수 2024.09.27 2 138
73485
m365 신규함수(베타) : TRIMRANGE (7)
더블유에이 | 2024.09.04 | 추천 1 | 조회 209
더블유에이 2024.09.04 1 209
73454
고등학교 선택과목 편성 방법 (4)
toug**** | 2024.09.03 | 추천 0 | 조회 122
toug**** 2024.09.03 - 122
73241
로또 번호 엑셀입니다. 첨부파일 (9)
박정호 | 2024.08.24 | 추천 1 | 조회 278
박정호 2024.08.24 1 278
73096
그룹별 데이터 나누기 [가로정렬] 첨부파일 (7)
마법의손 | 2024.08.20 | 추천 2 | 조회 200
마법의손 2024.08.20 2 200
73093
ppt에 둥근 표 삽입하기 (4)
강민준🤗 | 2024.08.20 | 추천 1 | 조회 175
강민준🤗 2024.08.20 1 175
73029
XLOOKUP, XMATCH 함수에 새로운 Match_mode로 RegEx 추가 (2)
원조백수 | 2024.08.16 | 추천 3 | 조회 208
원조백수 2024.08.16 3 208
72413
아웃룩에 개빡쳐서 만든 ThunderBird로 수신자 별 대량 메일 발송 VBA 매크로 공유합니다.(업무자동화) 첨부파일 (4)
알파고 | 2024.07.22 | 추천 1 | 조회 495
알파고 2024.07.22 1 495
72045
조합짜주는 엑셀(20명까지) 출력은 1만항까지 첨부파일 (13)
박정호 | 2024.07.10 | 추천 1 | 조회 367
박정호 2024.07.10 1 367
71965
서양달력 업데이트 입니다. 첨부파일 (14)
박정호 | 2024.07.07 | 추천 0 | 조회 223
박정호 2024.07.07 - 223
71902
Excel에서 ImportRange, ImportHTML 함수 사용하기 (4)
원조백수 | 2024.07.05 | 추천 0 | 조회 167
원조백수 2024.07.05 - 167
71838
Microsoft 365 신규 번역 함수 (8)
원조백수 | 2024.07.02 | 추천 2 | 조회 385
원조백수 2024.07.02 2 385
71804
음력->양력->서양달력 변환 첨부파일 (2)
박정호 | 2024.07.01 | 추천 0 | 조회 230
박정호 2024.07.01 - 230