본문 바로가기

mysql

(8)
Ktor Ktorm DB 연동 (매우 간단) Ktor Framework에서 DB 연동해볼게요. 이런 저런 샘플 예제들이 있는데 복잡하더라구요. 아래 코드가 기반이며 이를 바탕으로 확장한 된 것이라 보시면 되요. DatabaseConnection.kt DB 설정 부분이에요. import org.ktorm.database.Database object DatabaseConnection { val database: Database = Database.connect( url = "jdbc:mysql://localhost:3306/demo", driver = "com.mysql.cj.jdbc.Driver", user = "root", password = "1234", ) } Member.kt 스키마를 작성해줍니다. import org.ktorm.entity...
Node.js 코딩 패턴 (Routes-Controllers-Services 구조) 서버 개발을 하다보면 코드의 특성별로 소스 파일을 나누게 되어있어요. Node도 마찬가지에요. 처음에 잘 구조를 잡아두면 유지보수할 때 큰 이득을 볼 수 있어요. 구조만 잘 잡아줘도 Node에서도 충분히 복잡한 비즈니스를 말끔하게 볼 수 있습니다. 반대로 매우 간단한 로직을 나눠버리면 비효율적인 작업이 될 수도 있으니 잘 판단해서 디자인해야되요. 우선, 기본으로 사용할 수 있는 Routes-Controllers-Services 구조로 게시판 CRUD 예제를 구현해볼게요. board-route var express = require('express') var router = express.Router() const BoardController = require('../controllers/board-con..
Node.js MySQL Transaction(트랜잭션) 노드에서 mysql 모듈을 사용할 때 트랜잭션 처리하는 방법에 대해서 알아볼게요. 아직 mysql을 연동하지 않았다면 이 글을 먼저 참고해주세요. https://gofnrk.tistory.com/61 Node MySQL 연동 (Express) Node.js에서 MySQL을 연동해볼게요. 연동하고 select, insert, update, delete 쿼리까지 실행시켜 볼거에요. 연동하고 사용하는 것 자체는 매우 간단해요. 우선, mysql2 모듈을 설치해줍니다. npm i mysql2 pool.j.. gofnrk.tistory.com 트랜잭션 예제는 게시글 댓글(board_comment)에 INSERT 하고, 게시글(board)에 댓글 수를 +1 UPDATE 해줄거에요. board와 board_comme..
Node.js MySQL 연동 (Express) Node.js에서 MySQL을 연동해볼게요. 연동하고 select, insert, update, delete 쿼리까지 실행시켜 볼거에요. 연동하고 사용하는 것 자체는 매우 간단해요. 우선, mysql2 모듈을 설치해줍니다. npm i mysql2 pool.js const mysql = require('mysql2/promise') const pool = mysql.createPool({ host: 'localhost', port: 3306, user: 'demouser', password: 'demo12#$', database: 'demo_db', connectionLimit: 10 }) module.exports = pool router 쿼리를 어떻게 사용하는지 볼 수 있도록 아주 간단하게 CRUD 기..
Docker MySQL for Kitematic MySQL 컨테이너 설치 root 패스워드 설정 컨테이너를 설치, 실행하고 로그를 확인하면 이런 로그를 확인할 수 있어요. ROOT 계정의 패스워드를 지정해줘야합니다. Settings - General - Environment Variables 리스트에 MYSQL_ROOT_PASSWORD를 추가해주세요. 그리고 하단의 SAVE 버튼을 누릅니다. Published Port 설정 터미널 접속 exec를 클릭하면 MySQL 서버가 설치된 컨테이너에 터미널 접속을 할 수 있어요. 클라이언트 접속 mysql 8+ 버전을 사용하셨다면 이런 오류가 나올 수 있어요. Public Key Retrieval is not allowed 아래와 같이 접속 클라이언트 쪽에서 설정을 해주어야해요. allowPublicKeyRet..
Docker MySQL 설치, 접속, 자동 재시작 Docker로 MySQL을 설치해볼거에요. 1. MySQL 이미지 가져오기 docker pull mysql 2. 신규 Container 생성, 실행 docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=1234 -d -p 3306:3306 mysql 이제 root 계정으로 접속하면 됩니다. 끝! Docker 컨테이너 자동으로 재시작하고 싶다면 아래와 같이 실행하면 되요. docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=1234 -d -p 3306:3306 -dit --restart unless-stopped mysql 자세한건 링크를 참고해주세요. https://docs.docker.com/config/..
Spring Boot Session MySQL 연동, 저장 이미 구현한 Spring Session의 데이터를 MySQL에 저장하는 방법에 대해서 알아볼거에요. 예제 소스가 필요하신 분은 아래 글을 참고해주세요. https://gofnrk.tistory.com/42 Spring Boot Session 사용하기 (Bean Scope) Spring Boot에서 세션을 사용하는 방법에 대해서 알아볼게요. Bean Scope를 활용하여 session 데이터를 편리하게 관리할 수 있는 방법을 알려드릴거에요. 굉장히! 간단합니다. 컴포넌트 하나만 추가하면 되요. Use.. gofnrk.tistory.com build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-j..
MySQL 사용자 계정 권한 조회/추가/수정/삭제 MySQL에서 사용자 계정 권한을 추가, 수정, 삭제하는 방법이에요. mysql 데이터베이스에서 실행 use mysql; 계정 조회 select * from user; 계정 생성 create user 계정@호스트 identified by 패스워드; create user dbuser@localhost identified by 'password'; -- 로컬에서만 접근 가능 create user dbuser@192.168.1.72 identified by 'password'; -- 특정 IP에서 접근 가능 create user dbuser@'%' identified by 'password'; -- 어디에서나 접근 가능 계정 삭제 drop user 계정@호스트; drop user dbuser@localhost..