Topic

SQL

A collection of 37 posts
SQL

[sql] MySQL 데이터베이스 인코딩을 UTF-8로 변경하는 방법

MySQL은 UTF-8 문자 인코딩을 지원하지만 데이터베이스 및 테이블을 생성할 때 기본 문자 인코딩으로 Latin 문자 인코딩으로 설정되어 있는 경우가 자주 있습니다. 이럴 경우 문자 인코딩을 UTF-8로 변경해야 한글 처리를 정확하게 할 수 있습니다. 데이터베이스 인코딩 정보 확인 MySQL 데이터베이스 또는 테이블에서 현재 사용 중인 문자 인코딩은 다음 단계로 확인할 수
4 min read
SQL

[sql] 리눅스 MySQL root 패스워드 초기화하기

MySQL root 계정 패스워드를 잊어버려서 root 권한 작업을 할 수 없거나, db를 파일 단위로 이전을 해서 root 계정을 초기화 해야할 때 사용할 수 있습니다. 리눅스에 설치된 MySQL 인 경우 기본적으로 루트 권한을 가진 계정으로 로그인을 하거나, 루트 권한으로 커맨드를 실행할 수 있어야 합니다. 패스워드 초기화 방법 1. 루트 권한을 가진
2 min read
SQL

[sql] MySQL 연결 포트 접근을 제어하기

MySQL은 설치되는 리눅스 배포판에 따라서사용 포트인 3306 포트가 기본 설정으로 열려 있는 경우가 있습니다. 대표적으로 센토스 계열 배포판은 MySQL 3306 포트가 외부에서 접근이 가능한 상태로 설치됩니다. 3306 포트 접근을 차단하는 방법은 두 가지가 있습니다. 1. MySQL의 네트워킹 기능 비활성화 2. 리눅스 방화벽에서 3306 포트 차단 첫 번째 방식이 가장 선호되고
4 min read
SQL

[sql] 터미널용 SQL IDE 프로그램 harlequin

터미널 환경에서 GUI DB 클라이언트처럼 사용할 수 있도록 해주는 프로그램입니다. GUI 프로그램처럼 사용할 수 있는 UI를 제공합니다. 일반적인 DB 클라이언트처럼 왼쪽에 오브젝트 브라우저가 있고, 오른쪽 상단에 쿼리문 입력 편집 창, 그리고 오른쪽 하단에 쿼리 결과 데이터를 표시합니다. 파이썬 기반으로 제작되었고, 파이썬 환경을 올려야 사용할 수 있습니다. 파이쎤 3.8 이상을
3 min read
SQL

[SQL Server] CMD 스크립트로 DB 복원하기

개발 프로세스가 라이브 서버에서 백업한 DB 파일을 다음날 개발 서버에 올려서 최근 데이터를 분석하고 추가 개발 패치를 해야 할 때가 있습니다. 원격 라이브 서버에서 날짜별, 시간대별로 백업한 DB 파일은 백업 폴더 안에 차곡 차곡 쌓여있기 때문에 가장 최근의 백업 파일을 찾아서 개발 서버에 복원을 해야 합니다. 먼저 특정 폴더 안에
3 min read
SQL

[SQL Server] T-SQL로 날짜별 DB 백업 파일 생성하기

DB와 로그를 sql 쿼리문으로 백업할 때 날짜별로 백업 파일을 생성해서 누적하면 백업 파일 관리가 편리합니다. T-SQL로 백업할 파일의 이름을 날짜 기준으로 다음과 같이 생성할 수 있습니다. @fname 변수를 하나 만들어서 DB백업과 로그 백업 파일을 생성할 때 돌려서 사용하면 편리합니다. DECLARE @fname NVARCHAR(256); -- db set @fname='d:\APOSTDEV\DBBackup\
1 min read
SQL

3. [SQL기초] MySQL과 MariaDB 그리고 커멘드라인 인터페이스 프롬프트 설정

MariaDB 마리아DB 라고 합니다. MySQL이 오라클에 인수되면서 핵심 개발자가 나와서 배포하고 있는 MySQL 호환 RDBMS 입니다.  MySQL과 99% 이상 호환성을 유지하며, MySQL의 사용 환경을 그대로 사용할 수 있습니다. 실행 서비스 이름까지 MySQL로 유지되고 있기 때문에 MySQL의 대체제로 사용하기에 좋습니다. 사실상 성능이나 기능이 거의 동일하기 때문에 MySQL이 편하면 굳이 MariaDB로 바꿀
9 min read
SQL

21. [SQL기초] 데이터베이스 백업과 복원

백업 학습에 사용한 MySQL은 커맨드 라인 방식으로 간편하게 데이터베이스를 백업할 수 있습니다. MySQL에는 “mysqldump”라는 커맨드 라인 실행 프로그램을 이용해 데이터베이스를 백업합니다. 사용법도 간단하고, 윈도우10 스케줄러나 리눅스 크론탭에 스케줄을 등록해서 일정 시간 간격으로 반복 백업이 되도록 할 수도 있습니다. MySQL 데이터베이스 백업 커멘드라인 기본 명령줄은 다음과 같습니다. mysqldump -u [user]
4 min read
SQL

20. [SQL기초] 데이터베이스 설계 기초와 정규화

초보자에게 데이터베이스 설계는 다소 어려운 부분입니다. 데이터베이스의 기초를 막 끝냈지만, 데이터베이스를 어떤 방식으로 구성하고, 또 최적화를 할 수 있는지 기초 개념과 함께 어떤 순서로 설계를 하는지 알아 두면 데이터베이스의 구조(Schema)를 이해하는데 많은 도움이 됩니다. 데이터베이스 객체 정의 데이터베이스를 스키마라고 합니다. 그리고 스키마 안에 여러 가지 종류의 객체가 들어갑니다.
30 min read
SQL

19. [SQL기초] 트리거로 자동처리하기

트리거는 테이블 행에 특정 이벤트가 발생하면 미리 작성해 둔 루틴, 또는 쿼리문이 실행되도록 하는 이벤트 기반 실행 로직입니다. 데이터베이스마다 구현 방식에 약간씩 차이는 있지만, 자동화된 연쇄 작업을 실행할 수 있도록 하는 편리한 기능입니다. 트리거를 작성할 때는 어떤 이벤트에 대해서 트리거를 작성할지를 먼저 고려해야 합니다. 트리거가 꼭 필요하지 않거나 무거운 데이터베이스
7 min read