MySQL에서 데이터베이스 고가용성과 재해 복구를 달성하는 방법은 무엇입니까?
MySQL에서 데이터베이스 고가용성과 재해 복구를 달성하는 방법은 무엇입니까?
인터넷의 급속한 발전으로 인해 데이터베이스는 현대 애플리케이션에서 없어서는 안 될 부분이 되었습니다. 높은 동시성, 고가용성, 재해 복구 측면에서 데이터베이스의 안정성과 신뢰성이 더욱 중요해졌습니다. MySQL은 가장 일반적으로 사용되는 성숙한 관계형 데이터베이스 중 하나입니다. 이 기사에서는 MySQL에서 데이터베이스의 고가용성과 재해 복구를 달성하는 방법을 소개합니다.
1. 마스터-슬레이브 복제
마스터-슬레이브 복제는 데이터베이스 고가용성을 달성하기 위한 MySQL의 일반적인 솔루션입니다. 마스터-슬레이브 복제를 통해 마스터 데이터베이스의 데이터를 하나 이상의 슬레이브 데이터베이스에 복사하여 데이터 백업과 읽기 및 쓰기 분리를 달성할 수 있습니다.
MySQL에서 마스터-슬레이브 복제 구성은 주로 다음 단계로 나뉩니다.
-
마스터 서버에서 my.cnf 구성 파일을 찾습니다(보통 /etc/mysql 또는 /etc/my.cnf에 있음). , 다음 구성을 추가하세요.
[mysqld] log_bin=mysql-bin server_id=1
로그인 후 복사log_bin
매개변수는 바이너리 로그를 활성화하여 메인 서버의 모든 업데이트 작업을 기록하는 데 사용됩니다.server_id
매개변수는 고유한 마스터 서버를 식별하는 데 사용됩니다.log_bin
参数用于开启二进制日志,用于记录主服务器上的所有更新操作。server_id
参数用于标识唯一的主服务器。 重启MySQL服务,使配置生效。
sudo service mysql restart
로그인 후 복사创建一个新用户,用于从服务器进行访问主服务器。打开MySQL命令行并执行以下命令:
CREATE USER 'replication'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';
로그인 후 복사其中,
replication
是自定义的用户名,password
是密码。请根据实际情况进行设置。在主服务器上,执行以下命令,查看主服务器状态,并记录File和Position的值(将会在从服务器配置时使用):
SHOW MASTER STATUS;
로그인 후 복사在从服务器上,找到my.cnf配置文件,添加以下配置:
[mysqld] server_id=2
로그인 후 복사server_id
参数用于标识唯一的从服务器。- 重启MySQL服务,使配置生效。
在从服务器上,打开MySQL命令行并执行以下命令,进行主从复制的配置:
CHANGE MASTER TO MASTER_HOST='主服务器IP地址', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='从步骤4中的File值', MASTER_LOG_POS=从步骤4中的Position值;
로그인 후 복사其中,
主服务器IP地址
需替换为实际的主服务器IP地址,replication
和password
需替换为从步骤3中创建的用户和密码,从步骤4中的File值
和从步骤4中的Position值
分别替换为主服务器状态的File和Position的值。启动从服务器的复制进程:
START SLAVE;
로그인 후 복사查看从服务器复制状态:
SHOW SLAVE STATUS G;
로그인 후 복사如果成功配置,可以通过观察
Slave_IO_Running
和Slave_SQL_Running
两个字段来确认状态是否正常。
二、主从切换(Failover)
主从复制可以实现数据的备份和读写分离,但当主服务器宕机时,需要手动切换到从服务器上。为了实现自动切换,我们可以结合其他工具,如MHA(MySQL High Availability)或者ProxySQL来进行主从切换。
MHA是一个专门用于MySQL高可用性和灾备配置的工具。我们可以通过以下步骤来实现主从切换:
安装MHA工具包:
sudo apt-get install mha4mysql-node
로그인 후 복사创建一个MHA的配置文件,如
/etc/mha/app1.cnf
,内容如下:[server default] manager_workdir=/var/log/masterha/app1 manager_log=/var/log/masterha/app1/manager.log [server1] hostname=主服务器IP地址 candidate_master=1 recovery_user=replication recovery_password=password [server2] hostname=从服务器IP地址 candidate_master=1 recovery_user=replication recovery_password=password
로그인 후 복사其中,
主服务器IP地址
和从服务器IP地址
需替换为实际的IP地址。执行以下命令,在从服务器上运行MHA的管理工具:
masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf
로그인 후 복사该命令将会监听主服务器,并在主服务器宕机时进行主从切换。
三、数据备份和恢复(Backup and Recovery)
除了主从复制和主从切换,定期进行数据备份也是确保数据库可用性和灾备的重要方式。在MySQL中,我们可以使用mysqldump命令进行数据备份和恢复。
备份数据库:
mysqldump -u 用户名 -p 数据库名 > 备份文件.sql
로그인 후 복사其中,
用户名
和数据库名
需替换为实际的用户名和数据库名,备份文件.sql
为备份文件的路径和文件名。恢复数据库:
mysql -u 用户名 -p 数据库名 < 备份文件.sql
로그인 후 복사其中,
用户名
和数据库名
需替换为实际的用户名和数据库名,备份文件.sql
rrreee
서버에서 메인서버에 접속하려면 새로운 사용자를 생성하세요. MySQL 명령줄을 열고 다음 명령을 실행합니다.- rrreee
- 여기서
replication
은 사용자 정의된 사용자 이름이고password
는 비밀번호입니다. 실제 상황에 맞게 설정해주세요.
server_id
매개변수는 고유한 슬레이브 서버를 식별하는 데 사용됩니다. 🎜🎜🎜구성을 적용하려면 MySQL 서비스를 다시 시작하세요. 🎜🎜🎜슬레이브 서버에서 MySQL 명령줄을 열고 다음 명령을 실행하여 마스터-슬레이브 복제를 구성합니다. 🎜rrreee🎜그 중 마스터 서버 IP 주소
를 실제 마스터로 바꿔야 합니다. 서버 IP 주소 복제
및 비밀번호
는 3단계에서 생성한 사용자 및 비밀번호, 4단계의 파일 값
으로 바꿔야 합니다. 단계에서 4의 Position 값
은 각각 메인 서버 상태의 File 및 Position 값으로 대체됩니다. 🎜🎜🎜🎜슬레이브 서버에서 복제 프로세스 시작: 🎜rrreee🎜🎜🎜슬레이브 서버에서 복제 상태 보기: 🎜rrreee🎜성공적으로 구성되면 Slave_IO_Running
및 를 관찰할 수 있습니다. Slave_SQL_Running
필드를 통해 상태가 정상인지 확인합니다. 🎜🎜🎜🎜 2. 마스터-슬레이브 전환(Failover) 🎜마스터-슬레이브 복제는 데이터 백업 및 읽기-쓰기 분리를 구현할 수 있지만, 마스터 서버가 다운되면 수동으로 슬레이브 서버로 전환해야 합니다. 자동 전환을 달성하기 위해 MHA(MySQL 고가용성) 또는 ProxySQL과 같은 다른 도구를 결합하여 마스터-슬레이브 전환을 수행할 수 있습니다. 🎜🎜MHA는 MySQL 고가용성 및 재해 복구 구성에 특별히 사용되는 도구입니다. 다음 단계를 통해 마스터-슬레이브 전환을 구현할 수 있습니다. 🎜🎜🎜🎜MHA 툴킷 설치: 🎜rrreee🎜🎜🎜/etc/mha/app1.cnf
와 같은 MHA 구성 파일을 생성합니다. 내용은 다음과 같습니다. 🎜rrreee🎜 그 중 마스터 서버 IP 주소
와 슬레이브 서버 IP 주소
는 실제 IP 주소로 교체해야 합니다. 🎜🎜🎜🎜다음 명령을 실행하여 슬레이브 서버에서 MHA 관리 도구를 실행합니다. 🎜rrreee🎜 이 명령은 마스터 서버를 모니터링하고 마스터 서버가 다운될 때 마스터-슬레이브 전환을 수행합니다. 🎜🎜🎜🎜3. 데이터 백업 및 복구🎜마스터-슬레이브 복제 및 마스터-슬레이브 전환 외에도 정기적인 데이터 백업은 데이터베이스 가용성 및 재해 복구를 보장하는 중요한 방법입니다. MySQL에서는 데이터 백업 및 복구를 위해 mysqldump 명령을 사용할 수 있습니다. 🎜🎜🎜🎜백업 데이터베이스: 🎜rrreee🎜 그 중 사용자 이름
및 데이터베이스 이름
은 실제 사용자 이름과 데이터베이스 이름, 백업 파일로 바꿔야 합니다. .sql
은 백업 파일의 경로와 파일 이름입니다. 🎜🎜🎜🎜데이터베이스 복원: 🎜rrreee🎜 그 중 사용자 이름
및 데이터베이스 이름
은 실제 사용자 이름과 데이터베이스 이름, 백업 파일로 바꿔야 합니다. .sql
은 복원해야 하는 백업 파일입니다. 🎜🎜🎜🎜위는 MySQL에서 데이터베이스 고가용성 및 재해 복구를 달성하는 방법에 대한 간략한 소개입니다. 마스터-슬레이브 복제, 마스터-슬레이브 전환 및 데이터 백업을 통해 데이터베이스의 안정성과 가용성을 보장하여 최신 애플리케이션의 요구 사항을 더 잘 충족할 수 있습니다. 물론 MySQL에는 다른 고가용성 및 재해 복구 솔루션도 있으며 독자는 실제 필요에 따라 이를 선택하고 구성할 수 있습니다. 🎜🎜참조: 🎜🎜🎜MySQL 복제 - 복제 설정: https://dev.mysql.com/doc/refman/8.0/en/replication.html🎜🎜MHA: https://code.google.com/ archive /p/mysql-master-ha/wikis/GettingStarted.wiki🎜🎜위 내용은 MySQL에서 데이터베이스 고가용성과 재해 복구를 달성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











MySQL은 설치가 간단하고 강력하며 데이터를 쉽게 관리하기 쉽기 때문에 초보자에게 적합합니다. 1. 다양한 운영 체제에 적합한 간단한 설치 및 구성. 2. 데이터베이스 및 테이블 작성, 삽입, 쿼리, 업데이트 및 삭제와 같은 기본 작업을 지원합니다. 3. 조인 작업 및 하위 쿼리와 같은 고급 기능을 제공합니다. 4. 인덱싱, 쿼리 최적화 및 테이블 파티셔닝을 통해 성능을 향상시킬 수 있습니다. 5. 데이터 보안 및 일관성을 보장하기위한 지원 백업, 복구 및 보안 조치.

Navicat 자체는 데이터베이스 비밀번호를 저장하지 않으며 암호화 된 암호 만 검색 할 수 있습니다. 솔루션 : 1. 비밀번호 관리자를 확인하십시오. 2. Navicat의 "비밀번호 기억"기능을 확인하십시오. 3. 데이터베이스 비밀번호를 재설정합니다. 4. 데이터베이스 관리자에게 문의하십시오.

Navicat Premium을 사용하여 데이터베이스 생성 : 데이터베이스 서버에 연결하고 연결 매개 변수를 입력하십시오. 서버를 마우스 오른쪽 버튼으로 클릭하고 데이터베이스 생성을 선택하십시오. 새 데이터베이스의 이름과 지정된 문자 세트 및 Collation의 이름을 입력하십시오. 새 데이터베이스에 연결하고 객체 브라우저에서 테이블을 만듭니다. 테이블을 마우스 오른쪽 버튼으로 클릭하고 데이터 삽입을 선택하여 데이터를 삽입하십시오.

MySQL에서 테이블을 복사하려면 새 테이블을 만들고, 데이터를 삽입하고, 외래 키 설정, 인덱스 복사, 트리거, 저장된 절차 및 기능이 필요합니다. 특정 단계에는 다음이 포함됩니다 : 동일한 구조를 가진 새 테이블 작성. 원래 테이블의 데이터를 새 테이블에 삽입하십시오. 동일한 외래 키 제약 조건을 설정하십시오 (원래 테이블에 하나가있는 경우). 동일한 색인을 만듭니다. 동일한 트리거를 만듭니다 (원래 테이블에 하나가있는 경우). 동일한 저장된 절차 또는 기능을 만듭니다 (원래 테이블이 사용되는 경우).

MariaDB 용 Navicat은 암호가 암호화 된 양식으로 저장되므로 데이터베이스 비밀번호를 직접 볼 수 없습니다. 데이터베이스 보안을 보장하려면 비밀번호를 재설정하는 세 가지 방법이 있습니다. Navicat을 통해 비밀번호를 재설정하고 복잡한 비밀번호를 설정하십시오. 구성 파일을 봅니다 (권장되지 않음, 위험이 높음). 시스템 명령 줄 도구를 사용하십시오 (권장되지 않으면 명령 줄 도구에 능숙해야 함).

다음 명령으로 MySQL 데이터베이스를보십시오. 서버에 연결하십시오. mysql -u username -p password run show database; 기존의 모든 데이터베이스를 가져 오려는 명령 데이터베이스 선택 : 데이터베이스 이름 사용; 보기 테이블 : 테이블 표시; 테이블 구조보기 : 테이블 이름을 설명합니다. 데이터보기 : 테이블 이름에서 *를 선택하십시오.

Navicat에서 SQL을 수행하는 단계 : 데이터베이스에 연결하십시오. SQL 편집기 창을 만듭니다. SQL 쿼리 또는 스크립트를 작성하십시오. 실행 버튼을 클릭하여 쿼리 또는 스크립트를 실행하십시오. 결과를 봅니다 (쿼리가 실행 된 경우).

응용 프로그램을 열고 새로운 연결 (Ctrl n)을 선택하여 Navicat에서 새로운 MySQL 연결을 만들 수 있습니다. "MySQL"을 연결 유형으로 선택하십시오. 호스트 이름/IP 주소, 포트, 사용자 이름 및 비밀번호를 입력하십시오. (선택 사항) 고급 옵션을 구성합니다. 연결을 저장하고 연결 이름을 입력하십시오.
