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

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

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

-- 개요.
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레벨
포인트 : 4702 EP
전체 4

  • 2024-04-12 22:06

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


    • 2024-04-13 17:47

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

       


  • 2024-05-07 11:41

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


  • 2025-01-09 18:38

    @dra**** 님 많이 배워갑니다..


전체 165
번호 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (313)
오빠두엑셀 | 2022.02.03 | 추천 572 | 조회 599393
오빠두엑셀 2022.02.03 572 599393
78094
[M365] 수식으로 고급필터 구현하기 첨부파일 (1)
마법의손 | 2025.04.11 | 추천 1 | 조회 66
마법의손 2025.04.11 1 66
78009
LOOKUP을 XLOOKUP 처럼 사용 (2019 이하 필독) 첨부파일 (1)
박정호 | 2025.04.06 | 추천 0 | 조회 89
박정호 2025.04.06 - 89
78002
[VBA] 괄호가 대응되게 문자열 잘라주는 함수
마법의손 | 2025.04.05 | 추천 0 | 조회 39
마법의손 2025.04.05 - 39
77792
엑셀 그림 삽입이 안될 때.. (그림 삽입 비활성화 해결) (1)
더블유에이 | 2025.03.24 | 추천 2 | 조회 333
더블유에이 2025.03.24 2 333
77667
언피벗 툴 업그레이드 버전입니다. 첨부파일 (2)
박정호 | 2025.03.17 | 추천 0 | 조회 92
박정호 2025.03.17 - 92
77635
머리글로 데이터 합치기 툴 첨부파일 (4)
박정호 | 2025.03.15 | 추천 1 | 조회 105
박정호 2025.03.15 1 105
77598
MERGE(자석처럼 자료 붙이기) 툴입니다. 첨부파일 (2)
박정호 | 2025.03.13 | 추천 0 | 조회 142
박정호 2025.03.13 - 142
77577
[VBA] 시트명들 가져오는 함수 첨부파일 (4)
마법의손 | 2025.03.12 | 추천 1 | 조회 101
마법의손 2025.03.12 1 101
77544
LOOKUP 함수 사용법(2019 이하 필독) 첨부파일 (6)
박정호 | 2025.03.11 | 추천 0 | 조회 174
박정호 2025.03.11 - 174
77543
[함수TIP] Date함수로 Eomonth함수 대체하기 (3)
마법의손 | 2025.03.11 | 추천 3 | 조회 62
마법의손 2025.03.11 3 62
77481
쉽게 쓸 수 있는 언피벗 툴 첨부파일 (2)
박정호 | 2025.03.08 | 추천 2 | 조회 105
박정호 2025.03.08 2 105
77468
월간단위 월주차 함수 첨부파일 (3)
팍셀 | 2025.03.07 | 추천 0 | 조회 124
팍셀 2025.03.07 - 124
77385
TEXTJOIN 을 SUMPRODUCT 공식으로 2차원 데이터 다루기 첨부파일
박정호 | 2025.03.04 | 추천 0 | 조회 87
박정호 2025.03.04 - 87
77355
TEXTJOIN 으로 2차원 데이터 다루기 첨부파일 (3)
박정호 | 2025.03.02 | 추천 1 | 조회 89
박정호 2025.03.02 1 89
77353
& 기호로 SUMPRODUCT 2차원 데이터 다루기 첨부파일 (2)
박정호 | 2025.03.02 | 추천 0 | 조회 66
박정호 2025.03.02 - 66
77351
단어 포함 여부 검색, 원하는 단어로 출력 첨부파일
박정호 | 2025.03.02 | 추천 1 | 조회 96
박정호 2025.03.02 1 96
77238
휴일이면 1 아니면 0이 나오는 함수 첨부파일 (4)
박정호 | 2025.02.24 | 추천 0 | 조회 134
박정호 2025.02.24 - 134
77072
SUMPRODUCT로 VLOOKUP 대체 (2차원 룩업 가능) 첨부파일 (1)
박정호 | 2025.02.16 | 추천 0 | 조회 242
박정호 2025.02.16 - 242
76915
SUMPRODUCT로 2차원 데이터 다루기[응용] 첨부파일 (6)
박정호 | 2025.02.09 | 추천 1 | 조회 214
박정호 2025.02.09 1 214
76913
SUMPRODUCT로 2차원 데이터 sumifs 처럼 다루기 첨부파일 (1)
박정호 | 2025.02.09 | 추천 0 | 조회 170
박정호 2025.02.09 - 170