> 시스템 튜토리얼 > 리눅스 > MariaDB에서 마스터-슬레이브 복제를 구성하는 방법

MariaDB에서 마스터-슬레이브 복제를 구성하는 방법

WBOY
풀어 주다: 2024-05-01 13:49:01
앞으로
538명이 탐색했습니다.

如何在 MariaDB 中配置主从复制

이전 튜토리얼에서는 MariaDB[1]를 설치하고 구성하는 방법을 배웠으며 MariaDB[2]를 관리하는 몇 가지 기본 명령도 배웠습니다. 이제 MariaDB 서버에서 마스터-슬레이브 복제를 구성하는 방법을 알아보겠습니다.

복제는 데이터베이스의 여러 복사본을 만드는 데 사용됩니다. 이러한 복사본은 기본 데이터베이스 서버의 성능에 영향을 미칠 수 있는 매우 무거운 쿼리와 같은 다른 데이터베이스에서 쿼리를 실행하는 데 사용되거나 데이터 중복성을 위해 사용할 수 있습니다. 위의 두 가지 목적 모두. 이 프로세스를 자동화할 수 있습니다. 즉, 마스터 서버에서 슬레이브 서버로의 복제 프로세스가 자동으로 수행됩니다. 기본 서버의 쓰기에 영향을 주지 않고 백업을 수행합니다.

이제 MariaDB가 설치된 두 대의 머신이 필요한 마스터-슬레이브 복제를 구성해 보겠습니다. 해당 IP 주소는 다음과 같습니다:

  • 마스터 서버 - 192.168.1.120 호스트 이름 - master.ltechlab.com
  • 슬레이브 서버 - 192.168.1.130 호스트 이름 -slave.ltechlab.com

이 머신에 MariaDB가 설치된 상태에서 튜토리얼을 계속 진행하겠습니다. MariaDB 설치 및 구성에 대한 튜토리얼이 필요한 경우 이 튜토리얼[3]을 확인하세요.

1단계 - 마스터 서버 구성

이제 슬레이브 서버에 복사될 important라는 이름의 MariaDB에 데이터베이스를 입력합니다. 프로세스를 시작하려면 MariaDB의 구성 파일인 /etc/my.cnf라는 파일을 편집합니다.

으아아아

이 파일에서 [mysqld] 섹션을 찾아 다음을 입력하세요.

으아아아

이 파일을 저장하고 종료하세요. 완료 후에는 MariaDB 서비스를 다시 시작해야 합니다.

으아아아

다음으로 메인 서버의 Mariadb 인스턴스에 로그인합니다.

으아아아

마스터-슬레이브 복제를 위해 slaveuser라는 새 사용자를 생성한 후 다음 명령을 실행하여 필요한 권한을 할당합니다.

으아아아

참고: 마스터-슬레이브 복제를 구성하려면 MASTER_LOG_FILEMASTER_LOG_POS 값이 필요하며, 이는 show master status를 통해 얻을 수 있으므로 해당 값을 적어두어야 합니다.

이 명령을 실행한 후 exit를 입력하여 이 세션을 종료하세요.

2단계 - 데이터베이스 백업을 생성하고 슬레이브 서버로 이동

이제 데이터베이스 백업을 생성해야 합니다. 중요 mysqldump 명령을 사용하여 백업할 수 있습니다.

으아아아

백업이 완료된 후에는 MariaDB 데이터베이스에 다시 로그인하고 테이블을 잠금 해제해야 합니다.

으아아아

그럼 이 세션을 종료하세요. 이제 방금 만든 백업을 IP 주소가 192.168.1.130인 슬레이브 서버로 이동합니다.

마스터 서버 구성이 완료되었습니다. 이제 슬레이브 서버 구성을 시작합니다.

3단계: 슬레이브 서버 구성

我们再次去编辑(从服务器上的) /etc/my.cnf 文件,找到配置文件中的 [mysqld] 节,然后输入如下内容:

[mysqld]
server-id = 2
replicate-do-db=important
[ …]
로그인 후 복사

现在,我们恢复我们主数据库的备份到从服务器的 MariaDB 上,运行如下命令:

$ mysql -u root -p < /data/ important_backup.sql
로그인 후 복사

当这个恢复过程结束之后,我们将通过登入到从服务器上的 MariaDB,为数据库 important 上的用户 'slaveuser' 授权。

$ mysql -u root -p
로그인 후 복사
로그인 후 복사
GRANT ALL PRIVILEGES ON important.* TO 'slaveuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
로그인 후 복사

接下来,为了这个变化生效,重启 MariaDB。

$ systemctl restart mariadb
로그인 후 복사
第 4 步:启动复制

记住,我们需要 MASTER_LOG_FILEMASTER_LOG_POS 变量的值,它可以通过在主服务器上运行 SHOW MASTER STATUS 获得。现在登入到从服务器上的 MariaDB,然后通过运行下列命令,告诉我们的从服务器它应该去哪里找主服务器。

STOP SLAVE;
CHANGE MASTER TO MASTER_HOST= '192.168.1.110′, MASTER_USER='slaveuser', MASTER_PASSWORD='iamslave', MASTER_LOG_FILE='mariadb-bin.000001′, MASTER_LOG_POS=460;
SLAVE START;
SHOW SLAVE STATUS\G;
로그인 후 복사

注意: 请根据你的机器的具体情况来改变主服务器的配置。

第 5 步:测试复制

我们将在我们的主服务器上创建一个新表来测试主从复制是否正常工作。因此,登入到主服务器上的 MariaDB。

$ mysql -u root -p
로그인 후 복사
로그인 후 복사

选择数据库为 important

use important;
로그인 후 복사

在这个数据库上创建一个名为 test 的表:

create table test (c int);
로그인 후 복사

然后在这个表中插入一些数据:

insert into test (c) value (1);
로그인 후 복사

检索刚才插入的值是否存在:

select * from test;
로그인 후 복사

你将会看到刚才你插入的值已经在这个新建的表中了。

现在,我们登入到从服务器的数据库中,查看主从复制是否正常工作。

$ mysql -u root -p
$ use important;
$ select * from test;
로그인 후 복사

你可以看到与前面在主服务器上的命令输出是一样的。因此,说明我们的主从服务工作正常,没有发生任何问题。

我们的教程结束了,请在下面的评论框中留下你的查询/问题。


위 내용은 MariaDB에서 마스터-슬레이브 복제를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:linuxprobe.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿