Aurora 리스트, 스냅샷, 복원 CLI - AWS Aurora MySQL (RDS)
안녕하세요. Johncomputer 입니다.이번에는 아마 최근들어서 더 많은 분들이 이용하고 계신 Aurora MySQL에 대해서 같이 다뤄보려고 합니다.운영을 하다보면 "자동화", "대규모" 작업을 하게 되는 경우가 있는데이럴때는 항상 웹 화면에서 하나씩 다루기는 힘들거든요...그렇다 보니 Lambda 라던가 EC2 아니면 개인 PC에서 CLI로 명령을 할 수 있는 방법이 있는데요한번 같이 보겠습니다. 디테일한 옵션은 아래에 있고 전 주로 사용하는 스크립트 위주로 올려드릴게요https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html describe-db-clusters — AWS CLI 1.38.20 Command Ref..
2025.03.29
no image
MySQL 테이블 DB 사이즈 구하기 - row 개수 / 행 개수
안녕하세요. Johncom 입니다. information Schema의 테이블에는 테이블 관련 정보들이 정의되어 기록되고 있습니다.모든 값들은 byte 단위로 기록되고 있어 간단한 변환이 필요합니다.아래 내용은 "MB" 기준으로 계산 되어 "GB" 계산을 진행하려면 /1024를 추가해야 합니다. DESC information_schema.TABLES;+-----------------+---------------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-----------------+---------------------+------+-----+---..
2024.10.23
MySQL 권한 설정 CREATE USER
--  USER 생성-- 서버 설정 CREATE USER 'username'@'host' IDENTIFIED BY 'password';-- 특정 플러그인 지정 (과거사용 5.7 이하)CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password'; -- 권한-- 모든 권한 + 모든 DB 접근 권한 부여GRANT ALL PRIVILEGES ON *.* TO 'username'@'host';-- 특정 DB 전체 권한 GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';-- 특정 테이블 전체 권한GRANT ALL PRIVILEGES ON database_name.table..
2024.06.13
no image
MySQL 테스트 데이터 생성하기(Faker) - 아무데이터 넣기
안녕하세요. JohnComputer입니다. 이따금씩 개발 테스트를 진행하다 보면 임의적인 데이터를 넣고 테스트를 진행해야 할때가 많은데요. 그렇다고 또 데이터를 만들기 위해서 까다로운 RDB의 요구 조건을 다 들어주면서 넣다 보면 참 힘듭니다. 또 언제 전부 INSERT VALUES... 하고 있기도 힘들고요. 그렇게 해서 찾게 된 이번 오픈소스! FAKER 사용 방법을 같이 정리해서 올려드리려고 합니다. 1. 기본 데이터베이스 만들기 CREATE DATABASE test CREATE TABLE Persons ( PersonID int, LastName varchar(255), FirstName varchar(255), City varchar(255), RegistDate DateTime ); - 처음 ..
2023.03.04
no image
MySQL 8.0 Community server 설치 ( 윈도우, 64 bit )
안녕하세요 JohnCom입니다. MySQL을 예전부터 사용하다 보니 5.7 버전, 8.0 , Maria DB 까지 모두 로컬에서 혼동되어 사용중입니다. 그래서 이번에 새롭게 설치하면서 블로그에 글을 한번 남겨봐요 중간 중간 생략된 부분은 그냥 NEXT로 넘어가 주시면 되고 혹시 모르겠는 내용이나 오류 발생시 댓글 남겨주세요. 재설치 비밀번호 오류나 PATH설정은 중간에 작성되어 있습니다. 1. 가장 먼저 MySQL 사이트 접속 부터 해주시고요. https://www.mysql.com/downloads/ MySQL :: MySQL Downloads MySQL Cluster CGE MySQL Cluster is a real-time open source transactional database designe..
2022.11.25
no image
ERROR 1872 (HY000) : slave failed to initialize relay log info structure from the repository 에러 해결방법
마스터 슬레이브 구성 중 위와 같은 오류가 발생하였고 해당 오류의 경우 slave failed to initialize relay log info structure from the repository 슬레이브 실행 중 릴레이 로그 정보를 초기화 하지 못 했을때 발생하는 오류이다. 기존에 만들었던 Slave가 정상 종료가 안되었거나 Config나 Log에서 꼬일 수 도 있고 여러 이유가 있을 수 있다. 특히, Container 환경에서 처럼 계속 썻다 지웠다 실험하는 경우 해당 오류를 만날 수 있고 이런경우 해결 방법은 매우 간단하다. mysql > STOP SLAVE; mysql > RESET SLAVE; mysql > START SLAVE; 끄고 -> 초기화 하고 -> 다시 실행해주면 된다.
2022.08.25
no image
Ignoring query to other database... 오류 해결
사실 오류 해결이라 하기에도 애매하지만 이글을 검색 해본 분들은 필자 처럼 오타에 주의 해야한다 ㅠㅠ 갑자기 이런 메세지를 띄우며 쿼리가 안된다.. 아! root ??????? 오타입니다. -uroot 로 바꿔주세요
2022.08.25
no image
Xshell 7 SSH 세션 접속 하기 - AWS Linux 예시
AWS가 보편화 되면서 많은 개발자들이 로컬 PC에 설치하여 테스트 하는 것이 아닌 클라우드에서 작업하는 경우가 많아 졌다. 그래서 아주 간단하지만 세션에 접속하는 방법과 프로그램들을 소개하려 한다. 그 중에서도 이번엔 Xshell 7을 소개하려고 한다. 넷사랑컴퓨터에서 개발하여 배포하고 있는 프로그램으로 가정이나 학교에서 사용할 경우 무료 소프트웨어이다. 기본적으로 터미널프로그램으로는 제일 처음 사용하는것이 Putty일텐데 좀 더 많은 기능을 사용하고 현업에서 사용하는 프로그램을 써보는 것도 아주 좋은 경험인 것 같다. 아래 공식사이트에서 다운로드 하여 사용이 가능하다. Xshell 다운로드 - NetSarang Website Xshell 다운로드 - NetSarang Website 다운로드 구매하기 ..
2022.08.19
반응형

안녕하세요. Johncomputer 입니다.

이번에는 아마 최근들어서 더 많은 분들이 이용하고 계신 Aurora MySQL에 대해서 같이 다뤄보려고 합니다.

운영을 하다보면 "자동화", "대규모" 작업을 하게 되는 경우가 있는데

이럴때는 항상 웹 화면에서 하나씩 다루기는 힘들거든요...

그렇다 보니 Lambda 라던가 EC2 아니면 개인 PC에서 CLI로 명령을 할 수 있는 방법이 있는데요

한번 같이 보겠습니다.

 

디테일한 옵션은 아래에 있고 전 주로 사용하는 스크립트 위주로 올려드릴게요

https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html

 

describe-db-clusters — AWS CLI 1.38.20 Command Reference

Note: You are viewing the documentation for an older major version of the AWS CLI (version 1). AWS CLI version 2, the latest major version of AWS CLI, is now stable and recommended for general use. To view this page for the AWS CLI version 2, click here. F

docs.aws.amazon.com

 

 

1. 기본 사용 명렁어

- 가장 중요한 내용 중 하나인데 DB 개념에서 Cluster, Instance 를 구별해서 볼 수 있어야 합니다.

버전은 Cluster 단위, Type 변경은 Instance 단위로 변경 가능합니다.

#!/bin/bash

# 1. Aurora 클러스터 목록 조회
# 현재 운영 중인 모든 Aurora 클러스터 정보를 확인
aws rds describe-db-clusters

# 2. 특정 클러스터의 상세 정보 조회
# 특정 Aurora 클러스터의 설정 및 상태를 확인
aws rds describe-db-clusters --db-cluster-identifier {my-cluster}

# 3. Aurora 인스턴스 목록 조회
# 현재 운영 중인 모든 데이터베이스 인스턴스를 확인
aws rds describe-db-instances

# 4. 특정 Aurora 인스턴스 상태 조회
# 특정 DB 인스턴스의 상세 정보를 가져옴
aws rds describe-db-instances --db-instance-identifier {my-instance}

# 5. Aurora 클러스터 백업 (스냅샷 생성)
# 클러스터의 백업을 생성하여 데이터 보호
aws rds create-db-cluster-snapshot --db-cluster-snapshot-identifier {my-cluster-snapshot} --db-cluster-identifier {my-cluster}

# 6. 스냅샷 목록 조회
# 생성된 모든 클러스터 스냅샷을 확인
aws rds describe-db-cluster-snapshots

# 7. Aurora 클러스터 복원 (스냅샷에서 복구)
# 기존 백업 스냅샷을 사용하여 새로운 Aurora 클러스터 생성
aws rds restore-db-cluster-from-snapshot --db-cluster-identifier {my-new-cluster} --snapshot-identifier {my-cluster-snapshot}

# 8. Aurora 클러스터 크기 조정 (자동 스케일링 설정 변경)
# Aurora Serverless의 최소 및 최대 용량을 조정
aws rds modify-db-cluster --db-cluster-identifier {my-cluster} --scaling-configuration MinCapacity={2},MaxCapacity={8}

# 9. Aurora 인스턴스 타입 변경 (업그레이드 또는 다운그레이드)
# Aurora 인스턴스의 스펙을 변경 (ex. db.r5.large → db.r6g.large)
aws rds modify-db-instance --db-instance-identifier {my-instance} --db-instance-class {db.r6g.large} --apply-immediately

# 10. Aurora 클러스터 삭제
# 최종 스냅샷 없이 Aurora 클러스터 삭제 (데이터 영구 삭제됨)
aws rds delete-db-cluster --db-cluster-identifier {my-cluster} --skip-final-snapshot

# 11. Aurora 인스턴스 재시작
# 특정 Aurora DB 인스턴스를 재부팅하여 문제 해결
aws rds reboot-db-instance --db-instance-identifier {my-instance}

# 12. Aurora 파라미터 변경
# 특정 파라미터 그룹의 값을 변경하고 적용
aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name {my-cluster-param-group} --parameters "ParameterName={max_connections},ParameterValue={500},ApplyMethod=immediate"

# 13. Aurora MySQL 버전 업그레이드
# 기존 Aurora 클러스터의 엔진 버전을 업그레이드 (사전 테스트 필수!)
aws rds modify-db-cluster --db-cluster-identifier {my-cluster} --engine-version {8.0.mysql_aurora.3.04.0} --apply-immediately

 

2. describe 심화 - 특정 인스턴스 목록 뽑기 jq json

- 아래처럼 쿼리를 이용해서 원하는 출력값만 얻을 수 있습니다.

- output style 은 text, json, table등 보기 편하게도 가능해요

aws rds describe-db-clusters --region ap-northeast-3 --query "DBClusters[?contains(DBClusterIdentifier, '필터값')]" --output json
aws rds describe-db-clusters --query "DBClusters[?contains(DBClusterIdentifier, '필터값')].{DBClusterIdentifier:DBClusterIdentifier, Endpoint:Endpoint, ReaderEndpoint:ReaderEndpoint}" --output text
aws rds describe-db-clusters --query "DBClusters[?contains(DBClusterIdentifier, '필터값')].{DBClusterIdentifier:DBClusterIdentifier, Endpoint:Endpoint, ReaderEndpoint:ReaderEndpoint}" --output table

 

3. 기타 사용 명령어 

--region	#실행할 AWS 리전을 지정	--region ap-northeast-2
--output	#출력 형식 지정 (json, table, text, yaml)	--output table
--query	#특정 데이터 필드만 출력	--query "DBClusters[*].DBClusterIdentifier"
--profile	#사용할 AWS 프로필 지정	--profile my-profile
--no-paginate	#페이지 나누기 없이 전체 데이터 출력	--no-paginate

- paginator의 경우 100개가 넘는 리스트를 다룰 때 사용됩니다.

 

반응형
반응형

안녕하세요. Johncom 입니다.

 

information Schema의 테이블에는 테이블 관련 정보들이 정의되어 기록되고 있습니다.

모든 값들은 byte 단위로 기록되고 있어 간단한 변환이 필요합니다.

아래 내용은 "MB" 기준으로 계산 되어 "GB" 계산을 진행하려면 /1024를 추가해야 합니다.

 

DESC information_schema.TABLES;

< information_shema.TABLES 구조 >

+-----------------+---------------------+------+-----+---------+-------+
| Field           | Type                | Null | Key | Default | Extra |
+-----------------+---------------------+------+-----+---------+-------+
| TABLE_CATALOG   | varchar(512)        | NO   |     |         |       |
| TABLE_SCHEMA    | varchar(64)         | NO   |     |         |       |
| TABLE_NAME      | varchar(64)         | NO   |     |         |       |
| TABLE_TYPE      | varchar(64)         | NO   |     |         |       |
| ENGINE          | varchar(64)         | YES  |     | NULL    |       |
| VERSION         | bigint(21) unsigned | YES  |     | NULL    |       |
| ROW_FORMAT      | varchar(10)         | YES  |     | NULL    |       |
| TABLE_ROWS      | bigint(21) unsigned | YES  |     | NULL    |       |
| AVG_ROW_LENGTH  | bigint(21) unsigned | YES  |     | NULL    |       |
| DATA_LENGTH     | bigint(21) unsigned | YES  |     | NULL    |       |
| MAX_DATA_LENGTH | bigint(21) unsigned | YES  |     | NULL    |       |
| INDEX_LENGTH    | bigint(21) unsigned | YES  |     | NULL    |       |
| DATA_FREE       | bigint(21) unsigned | YES  |     | NULL    |       |
| AUTO_INCREMENT  | bigint(21) unsigned | YES  |     | NULL    |       |
| CREATE_TIME     | datetime            | YES  |     | NULL    |       |
| UPDATE_TIME     | datetime            | YES  |     | NULL    |       |
| CHECK_TIME      | datetime            | YES  |     | NULL    |       |
| TABLE_COLLATION | varchar(32)         | YES  |     | NULL    |       |
| CHECKSUM        | bigint(21) unsigned | YES  |     | NULL    |       |
| CREATE_OPTIONS  | varchar(255)        | YES  |     | NULL    |       |
| TABLE_COMMENT   | varchar(2048)       | NO   |     |         |       |
+-----------------+---------------------+------+-----+---------+-------+

 

TABLE 정보

TABLE_CATALOG 테이블이 속한 카탈로그 (대부분은 고정된 값일 수 있음)
TABLE_SCHEMA 테이블이 속한 스키마 (데이터베이스 이름)
TABLE_NAME 테이블 이름
TABLE_TYPE 테이블의 유형 (예
ENGINE 테이블이 사용하는 스토리지 엔진 (예
VERSION 테이블의 버전 (내부적인 관리 버전 정보)
ROW_FORMAT 테이블의 행 저장 형식 (예
TABLE_ROWS 테이블에 저장된 행의 개수
AVG_ROW_LENGTH 평균 행 길이 (바이트 단위)
DATA_LENGTH 테이블의 실제 데이터 크기 (바이트 단위)
MAX_DATA_LENGTH 테이블이 수용할 수 있는 최대 데이터 크기
INDEX_LENGTH 인덱스에 사용된 공간 크기
DATA_FREE 테이블에서 사용하지 않는 (비어 있는) 공간 크기
AUTO_INCREMENT 자동 증가(AUTO_INCREMENT) 값
CREATE_TIME 테이블이 생성된 시간
UPDATE_TIME 테이블이 마지막으로 업데이트된 시간
CHECK_TIME 테이블이 마지막으로 검사된 시간
TABLE_COLLATION 테이블에서 사용하는 정렬 규칙 (콜레이션)
CHECKSUM 테이블의 체크섬 값 (데이터의 무결성 검사용)
CREATE_OPTIONS 테이블 생성 시 사용된 추가 옵션
TABLE_COMMENT 테이블에 대한 설명 또는 주석
TABLE_SCHEMAL DB명
TABLE_NAME TABLE명

 

Query

1. 간단한 DB 사이즈 TOTAL SIZE 조회 ( 데이터 + 인덱스 )

SELECT table_schema "DATABASE",
ROUND(SUM(data_length+index_length)/1024/1024,1) "DATA(MB)"
FROM information_schema.TABLES
GROUP BY table_schema;

 

 

2. DB 사이즈 중 DATA와 INDEX 나눠서 보기

SELECT
table_schema "DATABASE",
ROUND(SUM(data_length)/(1024/1024),2) as 'DATA(MB)',
ROUND(SUM(index_length)/(1024/1024),2) as 'INDEX(MB)'
FROM information_schema.TABLES
GROUP BY table_schema
ORDER BY 2 DESC;

 

3.특정 DB내 테이블 정보 가져오기

SELECT
table_schema "DATABASE",
table_name "TABLE",
table_rows "TABLE_COUNT",
ROUND(data_length/(1024/1024),2) as 'DATA(MB)',
ROUND(index_length/(1024/1024),2) as 'INDEX(MB)'
FROM information_schema.TABLES
WHERE table_schema = 'test'
ORDER BY 3 DESC;

 

4.DB-TABLE 별 COUNT와 DATABASE SIZE 확인하기

SELECT
table_schema "DATABASE",
table_name "TABLE",
table_rows "TABLE_COUNT",
ROUND(data_length/(1024/1024),2) as 'DATA(MB)',
ROUND(index_length/(1024/1024),2) as 'INDEX(MB)'
FROM information_schema.TABLES;

 

자주 내가 날리는 쿼리

SELECT
table_schema "DATABASE",
table_name "TABLE",
table_rows "TABLE_COUNT",
ROUND(data_length/(1024/1024),2) as 'DATA(MB)',
ROUND(index_length/(1024/1024),2) as 'INDEX(MB)'
FROM information_schema.TABLES
WHERE table_schema NOT IN ('sys','mysql','information_schema','performance_schema')
ORDER BY data_length DESC;
반응형
반응형

--  USER 생성

-- 서버 설정 
CREATE USER 'username'@'host' IDENTIFIED BY 'password';

-- 특정 플러그인 지정 (과거사용 5.7 이하)
CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';

 

-- 권한

-- 모든 권한 + 모든 DB 접근 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'username'@'host';

-- 특정 DB 전체 권한 
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';

-- 특정 테이블 전체 권한
GRANT ALL PRIVILEGES ON database_name.table_name TO 'username'@'host';

-- 특정 테이블 SELECT 권한
GRANT SELECT ON database_name.table_name TO 'username'@'host';

-- 특정 테이블 SELECT, INSERT 권한
GRANT SELECT, INSERT ON database_name.table_name TO 'username'@'host';

-- 특정 프로시저 실행 권한
GRANT EXECUTE ON PROCEDURE database_name.procedure_name TO 'username'@'host';


-- 특정 유저 권한 확인
SHOW GRANTS FOR 'username'@'host';

-- 특정 권한 취소
REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';
REVOKE SELECT ON mydatabase.mytable FROM 'testuser'@'localhost';


-- 마지막에는 까먹지 말고 꼭!
FLUSH PRIVILEGES;

 

-- 유저 조회

-- USER와 HOST를 조회
SELECT host, user FROM mysql.user;
반응형
반응형

안녕하세요.

JohnComputer입니다.

 

이따금씩 개발 테스트를 진행하다 보면 임의적인 데이터를 넣고 테스트를 진행해야 할때가 많은데요.

그렇다고 또 데이터를 만들기 위해서 까다로운 RDB의 요구 조건을 다 들어주면서 넣다 보면 참 힘듭니다.

또 언제 전부 INSERT VALUES... 하고 있기도 힘들고요.

그렇게 해서 찾게 된 이번 오픈소스! FAKER 사용 방법을 같이 정리해서 올려드리려고 합니다.

 

1. 기본 데이터베이스 만들기

CREATE DATABASE test

CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
City varchar(255),
RegistDate DateTime
);

- 처음 부터 하시는 분들도 계실 수 있으니 간단한 예제도 넣어서 같이 설명 드리겠습니다.

 

기본 데이터베이스를 만들게 되면 위 이미지와 같이 Table이 생성됩니다.

 

2. Python

import pymysql.cursors
from faker import Faker

MYSQL_ENDPOINT = "127.0.0.1"
MYSQL_PORT = 3306
DB_ID = "ID"
DB_PW = "PASSWD"


# DB rows LIST 생성
sql_rows = []

mysqldb = pymysql.connect( host=MYSQL_ENDPOINT, user=DB_ID, password=DB_PW, database="test", port=MYSQL_PORT, charset='utf8mb4')
_Connectiondb = mysqldb.cursor()

# Faker.seed(Number) 데이터 넘버 FIX
fake = Faker()



for _ in range(2000):
    sql_row = '({},'"'{}'"','"'{}'"','"'{}'"','"'{}'"')'.format(fake.random_number(), fake.last_name(), fake.first_name(), fake.city(), fake.date_time())
    sql_rows.append(sql_row)
sql = "INSERT INTO Persons(PersonId, LastName, Firstname, City, RegistDate) VALUES " + ','.join(sql_rows)
#할당 해제
sql_rows = []
_Connectiondb.execute(sql)
mysqldb.commit()

 

위 코드는 테스트 데이터를 보여드리기 위한 Python입니다.'

아래 주의 사항과 함께 사용방법 적어둘 테니 잘 이용해보시기 바랍니다.

1. 기본설치
 
import pymysql.cursors
from faker import Faker

기본 세팅으로 pymysql, Faker를 설치해주셔야합니다.

pip install pymysql, Faker 등을 진행해주세요.

 

2. 사용형식

문자 데이터의 경우 '"'{}'"'
날짜 데이터의 경우 '"'{}'"'
숫자 데이터의 경우 {}

 

3. 사용되는 함수

fake.random_number() : 랜덤넘버
fake.name() : 이름 출력 / fake.first_name(), fake.last_name()
fake.email() : 이메일
fake.city() : 도시
fake.date_time() : Datetime
fake.address() : 주소 (4759 William Haven Apt. 194 West Corey, CA 90152)
fake.country() : 국가 (Nigeria)
fake.random_digit() : 0~9 랜덤 Number
fake.random_number() : 자릿수와 상관 없는 Number

기타 함수

https://faker.readthedocs.io/en/master/providers/baseprovider.html

 

faker.providers — Faker 17.6.0 documentation

© Copyright 2014, Daniele Faraglia Revision 5de6bf3f.

faker.readthedocs.io

 

반응형
반응형

안녕하세요 JohnCom입니다.

MySQL을 예전부터 사용하다 보니

5.7 버전, 8.0 , Maria DB 까지 모두 로컬에서 혼동되어 사용중입니다.

그래서 이번에 새롭게 설치하면서 블로그에 글을 한번 남겨봐요

 

중간 중간 생략된 부분은 그냥 NEXT로 넘어가 주시면 되고

혹시 모르겠는 내용이나 오류 발생시 댓글 남겨주세요.

재설치 비밀번호 오류나 PATH설정은 중간에 작성되어 있습니다.

 

1. 가장 먼저 MySQL 사이트 접속 부터 해주시고요.

https://www.mysql.com/downloads/

 

MySQL :: MySQL Downloads

MySQL Cluster CGE MySQL Cluster is a real-time open source transactional database designed for fast, always-on access to data under high throughput conditions. MySQL Cluster MySQL Cluster Manager Plus, everything in MySQL Enterprise Edition Learn More » C

www.mysql.com

 

2.사이트 화면 하단의 MySQL Community Server 설치 화면으로 이동해주세요.

 

3. MySQL community Server설치

- MySQL community Server를 설치하려면 중간에 있는 Community Server를 선택해서 설치를 진행해도 되지만

 이런경우 Path 설정과 각종 Utility는 개인이 따로 설치를 진행해주셔야 하기 때문에 그냥 바로 MSI파일 내려받기 위해서

 MySQL Installer For Windows로 실행할게요. ( 64 bit 설치도 동일합니다!!! )

 

4. 저흰 No Thanks 합니다 ㅎㅎ

5. 설치 진행

우리 Oracle 형님께서 아주 간단한 질문을 주십니다

리눅스로 따지면 yum Update 같은 거라고 생각하시면 되는데 Yes 해줍니다.

 

6. 선택

아마 제 블로그를 보는 분들이 여러 부류가 계실건데 전문가 분들은 여기 까지 보시고

알아서 세팅을 진행하실 수 있으니

학생, 개발자 관점에서 보면 Developer를 선택하시면 될 것 같습니다.

server, shell, workbench 등등 여러 제품을 포함하고 있습니다.

 

7. Path 설정

따로 설정 안해주셔도 됩니다 ㅎㅎ

 

8. Check List

- 저는 이렇게 설치에 Python이 필요하다는 화면이 뜨고 Manual로 설치해야 한다고 하네요.

Devloper Package에서 필요한것 같기도 하고 잘 모르겠지만 아래 URL들어가서 설치를 진행합니다

이런 화면 이 뜬다면 제 블로그 다른 글

https://johncom.tistory.com/49

 

python3 설치 부터 경로 설정까지 (pip, python, 환경 변수, path)

안녕하세요. JohnCom 입니다. 오늘은 제 로컬 PC에 Python3 를 설치를 진행하는데 설치하는 방법을 정리해두면 처음 시작하는 분들에게 도움이 될 것 같아서 이렇게 따로 정리해둘려고 글을 씁니다. "

johncom.tistory.com

참고해서 설치해주시면 됩니다.

 

간단히 설치 후 Check 눌러주시면 저렇게 초록색 체크박스가 뜹니다.

 

9. Package 설치

- 아래 화면처럼 Package 다운로드 받아야 하는 목록이 뜨게 되고 설치 진행하면 됩니다.

- 필요 없는것도 많이 설치가 되네요.. 그냥 메뉴얼로 할걸 ㅋㅋㅋㅋ Connecter 들을 주르륵 받습니다.

전 파이썬만 있으면 되는뎁..

 

10. Port 설정

- 다른건 모두 넥스트로 넘겨 주시고 이제 가장 중요한 Network 설정입니다.

기본 설정 3306 사용하시면 되고 기존 MySQL 이나 MariaDB가 있다면 다른 Port 이용하셔야 하는데

4060, 3307 마음에 드는 포트 사용하시고 꼭! 기억해두세요.

 

11. Password 설정

- 비밀번호 규칙 설정인데

5.7 이전의 버전과 이후의 버전이 있는데

전 Recommended 버전을 사용하겠습니다.

그냥 1234 같은 비밀번호를 하고 싶은 분들은 아래 선택하시면 됩니다.

 

*혹시 저처럼 재설치 진행 중이시라면 이런 화면을 마주하게 될 수 있고 그런경우

C:/ProgramData 폴더에 MYSQL 을 지워 주셔야 합니다.

 

모두 NEXT NEXT 눌러 주시면 됩니다.

 

12. 설치 확인

- 시작창 -> services.msc 로 mysql80이 잘 실행되는지 확인.

 

 

13. PATH 등록

- 만약 CMD 창을 이용하여 MYSQL 이용을 할 경우 PATH설정을 진행해야 합니다.

C:\Program Files\MySQL\MySQL Server 8.0\bin 와 같은 bin 폴더 등록해주셔야 하고 

 

- Path에서 편집 눌러주시고

두군데 모두 이렇게 PATH 넣어주시면 설치 완료입니다.

반응형
반응형

마스터 슬레이브 구성 중 위와 같은 오류가 발생하였고 해당 오류의 경우 

slave failed to initialize relay log info structure from the repository

슬레이브 실행 중 릴레이 로그 정보를 초기화 하지 못 했을때 발생하는 오류이다.

 

기존에 만들었던 Slave가 정상 종료가 안되었거나

Config나 Log에서 꼬일 수 도 있고 여러 이유가 있을 수 있다.

 

특히, Container 환경에서 처럼 계속 썻다 지웠다 실험하는 경우 해당 오류를 만날 수 있고 이런경우 해결 방법은 매우 간단하다.

 

mysql > STOP SLAVE;

mysql > RESET SLAVE;

mysql > START SLAVE;

 

끄고 -> 초기화 하고 -> 다시 실행해주면 된다.

반응형
반응형

사실 오류 해결이라 하기에도 애매하지만 이글을 검색 해본 분들은

필자 처럼 오타에 주의 해야한다 ㅠㅠ

 

갑자기 이런 메세지를 띄우며 쿼리가 안된다..

아! root ???????

오타입니다.

 

-uroot 로 바꿔주세요

반응형
반응형

AWS가 보편화 되면서 많은 개발자들이 로컬 PC에 설치하여 테스트 하는 것이 아닌

클라우드에서 작업하는 경우가 많아 졌다.

그래서 아주 간단하지만 세션에 접속하는 방법과 프로그램들을 소개하려 한다.

그 중에서도 이번엔 Xshell 7을 소개하려고 한다.

 

넷사랑컴퓨터에서 개발하여 배포하고 있는 프로그램으로

가정이나 학교에서 사용할 경우 무료 소프트웨어이다.

기본적으로 터미널프로그램으로는 제일 처음 사용하는것이 Putty일텐데

좀 더 많은 기능을 사용하고 현업에서 사용하는 프로그램을 써보는 것도 아주 좋은 경험인 것 같다.

 

아래 공식사이트에서 다운로드 하여 사용이 가능하다.

Xshell 다운로드 - NetSarang Website

 

Xshell 다운로드 - NetSarang Website

다운로드 구매하기 개요 라이선스 종류를 선택하세요 기재하신 정보 중 이름, 회사(기관), 이메일 정보는 제품 출시나, 업데이트 정보 등을 신속하게 제공하기 위해 사용합니다. 이 정보는 서비

www.netsarang.com

 

1. 처음으로 프로그램을 시작하면 위와 같은 화면이 생성된다.

 

 

2. 1번은 화면에서 좌측상단 새로만들기 클릭하면 아래와 같은 화면이 나오고 접속하려는 곳의

IP를 입력하면 된다. Putty와 달리 먼저 IP만 입력해보자.(ec2-user은 뺀다)

ex)  192.192.192.1       

 

3. 완료 버튼을 클릭하면 위와 같은 세션이 만들어져 있고 더블 클릭을 눌러 실행한다.

 

4. 위 화면으로 넘어가게 되고 이곳에 ec2-user와 같은 유저명을 적어주고 사용자 이름 기억 체크박스를 선택해 준다.

 

5. 1회용 로그인의 경우 파일을 눌러 한 번 공개키를 연결해주어도 된다.

하지만 여러번 사용하게 되면 등록을 해주는 것이 편리하기 때문에 "사용자 키"를 눌러준다.

 

 

6. 가져오기를 눌러서 경로에 있는 공개키를 가져온다.

이후 위와 같이 등록이 되면 더블 클릭을 하여 키 지정을 해주고

5번 이미지아래에 있는 암호 저장을 클릭한 후 확인을 눌러준다.

반응형