차례:
MySQL 복제는 한 데이터베이스 서버의 데이터를 하나 이상의 서버에 자동으로 복사하는 프로세스입니다.
MySQL은 하나의 데이터베이스 서버가 마스터 역할을하는 반면 하나 이상의 서버가 슬레이브 역할을하는 가장 잘 알려진 토폴로지 중 하나 인 마스터 / 슬레이브 토폴로지를 사용하여 여러 복제 토폴로지를 지원합니다. 기본적으로 복제는 마스터가 데이터베이스 수정을 설명하는 이벤트를 이진 로그로 보내고 슬레이브가 준비되면 이벤트를 요청하는 비동기식입니다.
이 튜토리얼은 Ubuntu 18.04에서 하나의 마스터 서버와 하나의 슬레이브 서버를 사용하는 MySQL 마스터 / 슬레이브 복제의 기본 예제를 다룹니다. MariaDB에도 동일한 단계가 적용됩니다.
이 유형의 복제 토폴로지는 읽기 스케일링을위한 읽기 전용 복제본, 재해 복구를위한 라이브 데이터베이스 백업 및 분석 작업에 가장 적합합니다.
전제 조건
이 예에서는 개인 네트워크를 통해 서로 통신 할 수있는 Ubuntu 18.04를 실행하는 두 개의 서버가 있다고 가정합니다. 호스팅 제공 업체가 개인 IP 주소를 제공하지 않으면 공개 IP 주소를 사용하고 신뢰할 수있는 소스의 포트 3306에서만 트래픽을 허용하도록 방화벽을 구성 할 수 있습니다.
이 예제의 서버에는 다음 IP가 있습니다.
Master IP: 192.168.121.190 Slave IP: 192.168.121.236
MySQL 설치
기본 Ubuntu 18.04 리포지토리에는 MySQL 버전 5.7이 포함되어 있습니다. 문제를 피하려면 두 서버 모두에 동일한 MySQL 버전을 설치하는 것이 가장 좋습니다.
마스터 서버에 MySQL을 설치하십시오.
sudo apt-get update
sudo apt-get install mysql-server
동일한 명령을 사용하여 슬레이브 서버에 MySQL을 설치하십시오.
sudo apt-get update
sudo apt-get install mysql-server
마스터 서버 구성
첫 번째 단계는 마스터 MySQL 서버를 구성하는 것입니다. 다음과 같이 변경합니다:
- MySQL 서버가 개인 IP를 수신하도록 설정하고 고유 한 서버 ID를 설정합니다.
이렇게하려면 MySQL 구성 파일을 열고 주석을 해제하거나 다음을 설정하십시오.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
마스터: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.190 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
완료되면 변경 사항을 적용하려면 MySQL 서비스를 다시 시작하십시오.
sudo systemctl restart mysql
다음 단계는 새로운 복제 사용자를 생성하는 것입니다. 다음을 입력하여 MySQL 서버에 루트 사용자로 로그인하십시오.
sudo mysql
MySQL 프롬프트에서
replica
사용자를 작성하고 사용자에게
REPLICATION SLAVE
권한을 부여하는 다음 SQL 쿼리를 실행하십시오.
CREATE USER 'replica'@'192.168.121.236' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236';
슬레이브 IP 주소로 IP를 변경하십시오. 원하는대로 사용자 이름을 지정할 수 있습니다.
여전히 MySQL 프롬프트 안에있는 동안 이진 파일 이름과 위치를 인쇄하는 다음 명령을 실행하십시오.
SHOW MASTER STATUS\G
*************************** 1. row *************************** File: mysql-bin.000001 Position: 629 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
파일 이름 'mysql-bin.000001' 및 위치 '629'를 기록하십시오. 슬레이브 서버를 구성 할 때이 값이 필요합니다. 이 값은 서버에서 다를 수 있습니다.
슬레이브 서버 구성
위의 마스터 서버와 마찬가지로 슬레이브 서버를 다음과 같이 변경합니다.
- MySQL 서버가 개인 IP에서 수신하도록 설정 바이너리 로깅을 구현할 수있는 고유 서버 설정
MySQL 구성 파일을 열고 다음 행을 편집하십시오.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
슬레이브: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.236 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log
MySQL 서비스를 다시 시작하십시오.
sudo systemctl restart mysql
다음 단계는 슬레이브 서버가 마스터 서버에 연결하는 데 사용할 매개 변수를 구성하는 것입니다. MySQL 쉘에 로그인하십시오.
sudo mysql
먼저 슬레이브 스레드를 중지하십시오.
STOP SLAVE;
마스터를 복제하도록 슬레이브를 설정하는 다음 쿼리를 실행하십시오.
MASTER_HOST='192.168.121.190',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=629;
올바른 IP 주소, 사용자 이름 및 비밀번호를 사용하고 있는지 확인하십시오. 로그 파일 이름과 위치는 마스터 서버에서 얻은 값과 같아야합니다.
완료되면 슬레이브 스레드를 시작하십시오.
구성 테스트
이 시점에서 마스터 / 슬레이브 복제 설정이 작동해야합니다.
모든 것이 예상대로 작동하는지 확인하기 위해 마스터 서버에 새 데이터베이스를 만듭니다.
sudo mysql
CREATE DATABASE replicatest;
슬레이브 MySQL 쉘에 로그인하십시오:
sudo mysql
다음 명령을 실행하여 모든 데이터베이스를 나열하십시오.
SHOW DATABASES;
마스터 서버에서 생성 한 데이터베이스가 슬레이브에 복제되었음을 알 수 있습니다.
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)
결론
이 자습서에서는 MySQL Master / Slave 복제를 생성하는 방법을 보여주었습니다.
궁금한 점이 있으면 언제든지 의견을 남겨주십시오.
우분투 mysql mariadb해킹 된 사이트의 웹 마스터를 돕는 새로운 Google 사이트

회사 사이트가 해킹당한 경우 도움을 제공하는 새로운 Google 리소스가 있습니다.
MySQL 마스터를 구성하는 방법

MySQL 복제는 하나의 데이터베이스 서버에서 하나 이상의 서버로 데이터를 자동으로 복사 할 수있는 프로세스입니다. 이 자습서에서는 CentOS 7에서 하나의 마스터 서버와 하나의 슬레이브 서버로 MySQL 마스터 / 슬레이브 복제를 설정하는 방법에 대해 설명합니다.
mysql (mariadb) 마스터를 구성하는 방법

이 안내서에서는 데비안 10에서 하나의 마스터 서버와 하나의 슬레이브 서버로 MariaDB 마스터 / 슬레이브 복제를 설정하는 방법을 설명합니다. MariaDB는 데비안에서 MySQL의 기본 구현입니다.