분류 전체보기 54

[AWS] RDS MySQL Audit Log 설정 (옵션 그룹, CloudWatch)

로그 중 Error Log, General Log, Slow Query Log 는 AWS RDS Management Console 내 [파라미터 그룹] 에서 설정이 가능하지만, Audit Log 는 [옵션 그룹] 에서 설정이 가능하다. [옵션 그룹] 을 통해 감사 로그를 설정해보자. (1) 옵션 그룹 선택 RDS Management Console 에서 [RDS] -> [옵션 그룹] 을 선택한다. (2) 옵션 그룹 생성 원하는 엔진과 버전을 선택하여 옵션 그룹을 생성해준다. (3) 옵션 추가 선택 생성한 옵션 그룹 선택 후, [옵션 추가] 를 선택한다. (4) 감사로그 설정 MARIADB_AUDIT_PLUGIN 옵션을 통해 원하는 조건을 설정하여 감사 로그를 설정해준다. *AWS RDS for MySQL ..

Cloud 2022.07.11

[AWS] RDS MySQL 언어 변경 (utf8 / utf8mb4, character-set, collation)

MySQL 에서 한글을 사용하려면 utf8 혹은 utf8mb4 인코딩되어야 한다. 그렇지 않으면 한글깨짐현상이 발생한다. AWS RDS Management Console 에서 인코딩 변경이 가능하다. ㆍ utf8 과 utf8mb4 차이가 무엇이 있을까? utf8 은 emoji 를 지원하지 않는다. 이러한 문제점을 해결하기 위해 utf8mb4 가 나왔으며, utf8mb4 는 emoji 를 지원한다. 인코딩 변경 전 먼저, 현재 character-set 을 확인해보자. show variables like 'c%'; 일부 character_set 이 latin1 로 되어있는 것을 확인할 수 있다. (*latin1 은 AWS RDS MySQL 의 디폴트 언어이다.) 캐릭터셋 latin1 을 utf8 혹은 utf..

Cloud 2022.06.29

[SQL Server / MS-SQL] 제약조건 (Constraint)

1. 제약 조건 ㆍ 제약조건이란? ㄴ 데이터의 무결성을 지키기 위해 제한된 조건 ㄴ 어떠한 조건을 만족했을때만 데이터가 입력되도록 제한해주는 역할 ㆍ SQL Server 에서 제공하는 제약 조건은 아래와 같다. ㄴ NOT NULL ㄴ CHECK 제약 조건 ㄴ UNIQUE 제약 조건 ㄴ PRIMARY KEY 제약 조건 ㄴ FOREIGN KEY 제약 조건 ㄴ DEFAULT 2. NOT NULL ㆍ 해당 컬럼에는 NULL 값이 들어올 수 없다. -- ID 라는 컬럼엔 NULL 값이 들어올 수 없다. CREATE TABLE account_tbl ( ID varchar(10) NOT NULL ) 3. CHECK 제약 조건 ㆍ 해당 컬럼에 특정 조건을 걸어 이에 해당하는 값만 들어올 수 있게끔 해준다. ㆍ 어떤 특..

[SQL Server / MS-SQL] Msg 15581, 이 작업을 수행하기 전에 데이터베이스에서 마스터 키를 만들거나 세션의 마스터 키를 여십시오.

1. 오류 발생 2. 오류 원인 DB 를 이관 후, 암호화된 복호화하려고 할 때 위 오류로, 나의 경우에는, 아래 명령어가 있는 프로시져를 실행하려니 위 오류가 발생했다. OPEN SYMMETRIC KEY sym_encryption_test DECRYPTION BY ASYMMETRIC KEY asym_encryption_test 3. 오류 해결 (1) 이관 전 사용했던 MASTER KEY 암호를 아는 경우 - 아래의 명령어를 통해 변경해주면 된다. ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '마스터 키 암호'; (2) 이관 전 사용했던 MASTER KEY 암호를 모르는 경우 - 해당 암호화 키를 삭제 후 재생성을 해줘야 한다. -- 대칭키 삭제..

[MySQL] 데이터베이스 이름 변경 (RENAME DATABASE)

MySQL 에서는 버전 5.1.7 에서 RENAME DATABASE 구문이 추가되었으나, database 의 내용이 손실될 위험성이 발견이 되어 버전 5.1.23 이후부터 제거됐다고 한다. 그래서 database 이름을 변경하려면 새로운 database 를 생성한 후, 기존 databse 의 데이터를 옮겨야한다. 이를 RENAME TABLE 구문과 mysqldump 를 이용하여 변경해줄 수 있다. 1. RENAME TABLE 을 이용한 database 이름 변경 1) 새 database 생성 CREATE DATABASE `새DB명`; 2) 기존 database 의 테이블을 모두 옮겨준다. RENAME TABLE `기존DB명.기존TABLE명` TO `새DB명.새로운TABLE명`; 3) 옮길 procedur..

DBMS/MySQL 2020.11.25

[SQL Server / MS-SQL] Msg 8111, Cannot define PRIMARY KEY constraint on nullable column in table.

1. 오류 발생 2. 오류 원인 위 오류는 테이블에 PRIMARY KEY 를 추가하려고 할 때 발생하는 오류로, PK 를 추가하려는 컬럼이 NULL 값을 허용하기 때문에 발생한다. 3. 오류 해결 해당 컬럼의 NULL 값 허용을 NOT NULL 로 변경하면 오류를 해결할 수 있다. 쿼리를 통해 직접 오류 발생 및 해결해보자. (1) 아래와 같은 테이블과 데이터를 생성 --1. 테이블 생성 CREATE TABLE [dbo].TEST] ( [ID] [int] NULL, [NAME] [char](3) NULL ); --2. 데이터 삽입 INSERT INTO [TEST] VALUES (1,'JAN'); INSERT INTO [TEST] VALUES (3,'MAR'); INSERT INTO [TEST] VALUE..

[GCP] MySQL Timezone (타임존) 변경

MySQL DB 의 Timezone (타임존) 을 한국 시간에 맞게 변경해주려고 한다. 데이터베이스 플래그를 설정해주면 되는데, GCP Console 에서 아주 간단하게 설정해 줄 수 있다. 1. GCP Console 접속 > 데이터베이스 > SQL > 개요 선택 2. 구성 > 구성 수정 선택 3. 플래그 > 항목 추가 선택 4. 다음 중에서 선택 > default_time_zone 선택 5. +09:00 입력 * 한국시간은 +09:00, 원하는 다른 국가의 시간이 있다면 그에 맞게 입력하면 된다. 시간을 입력 후 저장하면 된다. 저장을 하면 인스턴스 재시작 알림이 뜰 것이다. (인스턴스 재시작해야 적용이 됨.) 그대로 인스턴스 재시작해주면 적용 끝! 적용된 걸 GCP Console 에서도 확인 할 수 ..

Cloud 2020.11.19

[Linux] vi 특정 단어 라인 삭제

파일 내에 특정 단어가 들어간 라인을 지워야하는데 해당 내용이 너무 많을 경우, 그것을 일일이 지우기란 참 번거롭다. 이럴때 vi 편집기에서 명령어를 통해 한 번에 특정 단어가 들어간 라인을 모두 지워줄 수 있다. 아래의 명령어를 통해 지워줄 수 있다. :g/특정단어/d 또는 :% g/특정단어/d :g/\/d 또는 :% g/\/d 단, 두 명령어에 차이가 존재한다. 먼저, 특정 단어가 포함한 모든 라인을 지우고 싶을 경우, 아래 명령어를 사용한다. :g/특정단어/d 또는 :% g/특정단어/d 그리고 특정 단어만 들어있는 라인을 지우고 싶을 경우에는 아래 명령어를 사용하면 된다. :g/\/d 또는 :%/\/d 여기서, % 는 전체 라인을 뜻한다. 예를 들어보자. 아래와 같은 내용이 존재하는 test.sql..

OS 2020.11.06

[Windows] .bat 파일을 이용하여 파일 자동으로 삭제하기 (feat. forfiles)

일을 하다보면 디스크에 로그가 계속해서 쌓인다. 로그가 계속 쌓여서 디스크가 풀로 찰 수도 있기 때문에 주기적으로 삭제를 해줘야한다. 이를 직접 수동으로 할 수도 있지만... 이에 따른 노동력이 필요하기에 파일을 자동으로 삭제할 수 있도록 하려고 한다. .bat 파일과 작업 스케줄러를 이용하여 파일을 자동으로 삭제하려고 한다. 1. .bat 파일 생성 (forfiles 명령어 이용) 먼저, bat 파일을 만들어야 하는데 forfiles 명령어를 이용하여 만들어 볼 것 이다. forfiles 명령어가 무엇이냐? forfiles 는 Windows 에서 사용하는 명령어이며, 파일에 대해 명령을 선택하고 실행하는 작업을 한다. forfiles [/P pathname] [/M searchmask] [/S] [/C..

OS 2020.10.28

[Windows] 파일 내용 하나로 합치기 (TYPE 명령어)

수십개의 파일 내용을 하나로 합칠 일이 생겼다.. 심지어 각 파일마다 만 건 이상의 데이터를 가지고 있어 하나 하나 복붙하기도 골치 아프다. 이럴때 윈도우 명령 프롬프트 (cmd) 에서 type 명령어를 통해 아주 간~~~~ 편하게 파일 내용을 하나로 합칠 수 있다. 간단한 예시로 보여주겠다. 나는 아래 세 가지 파일(1.txt, 2.txt, 3.txt) 을 하나의 파일(4.txt) 로 합쳐주려고 한다. 각 파일의 내용은 아래와 같다. 1. 실행창에서 도스창(cmd) 을 열어보자. - 실행(윈도우키 + R) > cmd 입력 2. cmd 에서 병합하려는 파일들이 있는 경로로 이동한다. - 위 빨간 영역을 한 번 클릭하면 아래와 같이 경로가 나온다. 3. 'cd' 명령어를 통해 해당 경로로 이동시켜준다. c..

OS 2020.08.14