MySQL 8

[Next.js] MongoDB 연결하기 (next-connect, typescript)

next-connect는 Next.js에서 미들웨어를 사용할 수 있게 도와주는 라이브러리다. 여기서 말하는 미들웨어는 웹 서버에서의 미들웨어(Middleware)와 의미가 통하는데, 요청과 응답 사이 중간에서 한번 거치면서 수행되는 함수다. 보통 여기서 연결된 DB 객체를 넘겨준다던가 세션 관리를 하게된다. 시작하기 몽고 DB를 설치하자. 귀찮게 몽고DB설정까지는 다루지 않을 것이다. 사실...패키지 설치부터 말하는 것 조차 귀찮지만!ㅋㅋㅋ yarn add mongodb middleware라는 폴더를 생성하고, 그 아래에 database.ts를 추가시켜 주자. 이 파일에서는 연결된 mongodb가 없다면 새로 연결해서 req 객체에 담아 넘겨줄 것이다. src/ ├── pages/ │ └── api/ │..

MySQL Database 주기적으로 자동 백업하는 법

너굴리스트 최근 업데이트에 일부 유저분들 정보를 날려먹고ㅜㅜ DB가 언제나 영원할꺼라 생각했던 나 자신의 어리석음을 반성하며 뒤늦게나마 자동 백업을 도입하기로 했다. 사실 어려운일이 아닌데 1인 개발인데 뭐 날려먹거나 하진 않겠지하는 막연한 믿음때문에 이 사태가 벌어졌다. 앱에서 사용하는 DB를 백업하는 스크립트를 적고, crontab으로 사용자 수가 적은 매일 오전 6시에 돌리려고 한다. 1. Shell script 작성 먼저 db_backup이라는 쉘 스크립트를 작성해야한다. $ vi db_backup.sh#!/bin/bash DATE=$(date +%Y-%m-%d) BACKUP_DIR=/home/lou/db_backups if [ ! -d $BACKUP_DIR ]; then mkdir $BACKUP..

프로그래밍/SQL 2022.02.14

Docker 사용방법 실습 - Node.js / MySQL / Nginx 사용 서비스 만들기

Docker series [ - ] Docker 개념정리 포스팅 [https://jizard.tistory.com/322] [ x ] Docker 실습 포스팅 Project File Tree ├── app │ ├── Dockerfile │ ├── index.js │ ├── node_modules │ ├── package-lock.json │ └── package.json ├── docker-compose.yml ├── mysql │ └── Dockerfile └── nginx ├── Dockerfile └── default.conf *Github에서 전체 프로젝트 소스보기 [https://github.com/lx5475/Docker-] Docker를 사용하여 독립된 환경에서 mysql와 nginx를 구동..

[Big Query] 빅 쿼리 UNNEST 사용법 / 개념

데이터 구조 이해하기 우리가, 아니 적어도 내가 일반적으로 봐 왔던 데이터들은 이렇게 Key-Value 쌍으로 이루어진 Record의 연속이었다. 그런데 이번에 회사에서 일하면서 Big Query를 만지게 되었는데 데이터 구조가 생판 처음보는 식으로 되어있었다! 그림으로 표현하자면...이렇게? 필드 하나가 배열이 될수도 있고, 구조체가 되거나 구조체의 배열까지 될수 있는 복잡한 구조다. 예제로 알아보기 그래서 '일반적인' SQL문으로 내가 원하는 데이터를 뽑아내기는 어렵고, 특별한 문법요소 하나를 더 써야하는데 그것이 바로 UNNEST이다. 손을 더럽히면서 배워보자. bigquery.cloud.google.com/dataset/firebase-analytics-sample-data:android_data..

프로그래밍/SQL 2021.03.18

Ubuntu 16.04 Node.js + MySQL + Nginx 서버 세팅해보자!

Node.js 개발자다보니 맨날 Node.js/MySQL/Nginx 서버 세팅할일이 많은데, 이번에 스크립트로 정리해보려한다.개별 옵션은 각자의 상황에 맞게 커스텀으로 입력하시고, 기본 서버에 필요한 명령어들은 아래와 같다! 1$ sudo apt-get updatecs Node.js 설치 (8 버전)12345cd ~curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.shsudo bash nodesource_setup.shsudo apt-get install nodejs -ysudo apt-get install npm -yColored by Color Scriptercs + sudo apt-get install build-essential ..

[MySQL] Too many connections 문제 해결 : max_connections 설정하기

show status like 'threads_connected';: 현재 연결되어있는 thread 수 확인 show variables like 'wait_timeout';: 현재 지정된 wait_timeout 값 확인 show variables like 'max_connections';: 현재 지정된 max_connections 값 확인 set global max_connections=500;: max_connections 500으로 설정 set global wait_timeout=60;: wait_timeout 60으로 설정 (초 단위) wait_timeout: 지정된 시간동안 mysql에서 응답이 없을경우 커넥션을 종료 max_connections: mysql이 허용할 수 있는 클라이언트의 최대 연..

프로그래밍/SQL 2019.03.12

PHP MYSQL과 통신 쉽게하기

학교에서 웹 수업을 듣는데 매번 PHP 파일을 만들때마다 MYSQL 설정을 해줘야하는것이 귀찮아서MYSQL을 객체로 만들었다. 도움이 되었으면한다! 사용법은 주석에 있다. 언어는 정말 개떡(?)같이 생겼지만...($마크때문에)비동기 처리를 안해도 된다는 점에서 php가 좀 편했다... *connection close는 원하실때 따로 추가해서 구현하세요! 12345678910111213141516171819202122232425262728Colored by Color Scriptercs