[DB] 윈도우에 리눅스 설치해서 DB 서버로 활용하기
아마 이번 포스팅은 많은 중소기업 관계자 분들이 관심을 가질만한 주제 일듯 합니다.
-- 개요.
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를 이용해서 구현했습니다.
필요한 누군가에 도움이 되었으면 합니다.
번호 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[📚진짜쓰는 실무엑셀] 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 |
@dra**** 님 부우럽습니다!!
@Gisele 님 구현해보세요. 구글링 해보면 생각보다 설명 잘 나와 있습니다. 생각보다 어렵지 않습니다.
@dra**** 님 멋집니다....