Database
-
[MySQL] Ubuntu(우분투), MySQL 8.0↑ Replication 설정Database/MY-SQL 2023. 1. 17. 20:44
🌈 구성 환경 Master / Slave Ubuntu 22.04 LTS, MySQL 8.0.31 Community 1. Master 설정 1-1. Replication용 계정 생성 및 replication 권한 부여 [mysql] 특정 아이피를 설정할 경우 % 대신 ip를 입력한다. create user 유저명@'%' identified by '비밀번호'; grant replication slave on *.* to 유저명@'%'; 1-2. Mysql Replication 설정 - mysqld.cnf [터미널] vi 명령어로 mysqld.cnf 수정한다. vi /etc/mysql/mysql.conf.d/mysqld.cnf [mysqld] 바로 아래 부분에 2줄을 추가한다. server-id: 서버 아이디..
-
[MySQL] Replication(리플리케이션)이란Database/MY-SQL 2023. 1. 17. 15:58
데이터베이스 리플리케이션(Database replication)이란 보통 Master/Slave 관계를 갖는 원본과 복사본 사이를 다룬다. 마스터는 변경 사항을 기록하고 그 결과는 슬레이브에게 전달된다. 라고 위키백과 레플리케이션에서 설명하고 있다. 보편적으로는 데이터베이스의 부하 분산과 데이터 백업을 위해 복제본을 만드는것이라고 한다. 웹 서버의 부하 분산을 위해 여러대의 서버를 두고 로드밸런서를 통해 로드밸런싱 하는 것과 비슷하다. 이제 Master/Slave의 주로 사용되는 역할에 대해 알아본다. Master 서버: 데이터 등록/수정/삭제 요청을 담당하며, 변경된 데이터를 바이너리로그(Binarylog)를 생성하여 Slave 서버로 전달한다. Slave 서버: 조회 요청을 담당하며, Master 서..
-
[MySQL] 우분투에서 MySQL8 설치 후 포트 개방 및 사용자 생성Database/MY-SQL 2023. 1. 17. 13:43
우분투 apt-get 업데이트 sudo apt-get update mysql-server 설치 (최신버전) sudo apt-get install mysql-server mysql 설치 정보 확인 (버전 등) sudo mysql -v mysql 실행 sudo systemctl start mysql mysql 상태 확인 sudo systemctl status mysql 우분투 재시작 시 mysql 자동 시작 sudo systemctl enable mysql 외부 3306 포트 개방 1). MySQL cnf 파일에 로컬호스트만 접속 허용 되어있는 걸 해제 sudo vim /etc/mysql/my.cnf sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 파일의 bind-address..
-
[MySQL] 데이터베이스 엔진 InnoDB, MyISAMDatabase/MY-SQL 2023. 1. 15. 18:39
MySQL을 사용해왔지만 데이터의 입출력을 위해 기본 작업만 진행했었지 내부적인 구조에 대해서는 생각해 본적이 없어서 이번에 대표적인 스토리지 엔진인 InnoDb와 MyISAM에 대해 알아보려고 한다. 물론 그 외에 다른 스토리지 엔진들(Memory, Archive, CSV, Federated 등)도 있다. 스토리지 엔진 - 서버 엔진이 필요한 데이터를 물리적 장치에서 가지고 오는 역할을 수행한다. - 성능 향상을 위해 키 캐시(MyISAM), 버퍼 풀(InnoDB) 등의 기능을 내장한다. - 스토리지 엔진은 여러 개를 동시에 사용할 수 있다. 즉, 테이블 마다 다른 스토리지 엔진 사용이 가능하다. - 특정 테이블이 어떤 스토리지 엔진을 사용하는지 확인하려면 SHOW TABLE STATUS 명령을 이용한..