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
no image
한방 패키지 APM(Apache, MySQL, PHP) 구성하여 웹 서버 만들기
안녕하세요. JohnCom 입니다.오랜만에 웹서버 구축할 일이 생겨서 하나하나 기록 겸처음 시작하는 분들께 도움이 되고자 글을 작성합니다. 웹 개발을 시작하면처음 배우게 되는 언어로 여러 시작을 할텐데자바공화국인 한국에서는 조금 덜 쓰지만 전세계적으로 가장 많이 사용하고배우기 빠른 언어인 PHP그리고 사용자들이 무료로 쉽게 사용할 수 있는 MySQL DB를 이용하여 환경 구성을 해보려고 합니다. 물론 배포할때는Linux + PHP + MySQL + Apache + 기타 언어 or 패키지 등이 사용되겠지만오늘은 이 모든걸 한번에 설치가능한한방 패키지 설치해보려고 합니다  1. XAMPP 설치구글 형에게 간단하게 검색해서 진행하면 됩니다. 원하는 버전 선택 필요한 프로그램만 설치MySQL, Tomcat, p..
2024.10.16
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
반응형

안녕하세요. 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;
반응형
반응형

안녕하세요. JohnCom 입니다.

오랜만에 웹서버 구축할 일이 생겨서 하나하나 기록 겸

처음 시작하는 분들께 도움이 되고자 글을 작성합니다.

 

웹 개발을 시작하면

처음 배우게 되는 언어로 여러 시작을 할텐데

자바공화국인 한국에서는 조금 덜 쓰지만 전세계적으로 가장 많이 사용하고

배우기 빠른 언어인 PHP

그리고 사용자들이 무료로 쉽게 사용할 수 있는 MySQL DB를 이용하여 환경 구성을 해보려고 합니다.

 

물론 배포할때는

Linux + PHP + MySQL + Apache + 기타 언어 or 패키지 등이 사용되겠지만

오늘은 이 모든걸 한번에 설치가능한

한방 패키지 설치해보려고 합니다 

 

1. XAMPP 설치

구글 형에게 간단하게 검색해서 진행하면 됩니다.

 

원하는 버전 선택

 

필요한 프로그램만 설치

MySQL, Tomcat, phpMyAdmin 정도는 설치 진행합니다.

 

화면에서 아주 간단하게 볼 수 있습니다.

"Start" 서버 시작과 종료

"Config"기본 설정 파일

"Admin" 관리자 페이지

"Logs" 각종 로그 기록

 

Localhost:80으로 접속해서 정상 설치 되었는지 확인해보세요.

더 자세한 설치 풀영상은 유튜브에 올려두었습니다.

 

https://www.youtube.com/watch?v=O0RPgsu91kk

반응형
반응형

--  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 로 바꿔주세요

반응형