mysql 마스터-슬레이브 구성을 수행해야 하는 이유는 무엇입니까? 이 기사에서는 모든 사람에게 도움이 되기를 바라며 주로 mysql 마스터-슬레이브 구성 예제에 대한 자세한 설명을 공유합니다.
1: 서버 로드 밸런싱 실현
데이터 업데이트 작업만 메인 서버에서 구현되고, 데이터 쿼리는 고려되지 않습니다. 쿼리 요청은 여러 슬레이브 서버로 전달될 수 있습니다. 데이터 업데이트 및 쿼리를 다른 서버에 배치하면 데이터 보안이 향상되고 애플리케이션의 응답 시간이 단축되며 시스템 성능이 향상될 수 있습니다.
2: 복제를 통한 데이터의 오프사이트 백업 실현
언제든지 데이터 백업은 매우 중요한 연결고리인데, mysql 마스터-슬레이브 구성은 오프사이트 백업을 매우 잘 구현하여 이 문제를 완벽하게 해결합니다.
3: 데이터베이스 시스템의 가용성 향상
데이터베이스 복제 기능은 마스터 서버와 슬레이브 서버 간의 데이터 동기화를 실현하여 데이터베이스 시스템의 가용성을 높입니다. 마스터 서버에 문제가 발생하면 데이터베이스 관리자는 즉시 슬레이브 서버를 마스터 서버로 만들어 데이터 업데이트 및 쿼리 서비스를 제공할 수 있다.
슬레이브는 어떻게 마스터의 데이터를 복사하나요?
1: 마스터의 데이터가 변경되면 변경 사항이 바이너리 로그에 기록됩니다.
2: 슬레이브는 마스터의 로그를 자신의 릴레이 로그에 복사합니다.
3: 슬레이브는 로그 기록을 기반으로 데이터를 업데이트합니다.
Configure master-slave mysql
1: 마스터 서버 구성
(1): 마스터 MySQL에서 사용자 '링크'를 생성하고 다른 슬레이브 서버가 링크 사용자를 통해 마스터에 원격으로 액세스하고 바이너리 로그를 읽을 수 있도록 승인합니다. , 데이터 동기화를 달성하십시오.
mysql> 사용자 링크 생성
mysql> 'mysql'로 식별된 *.*에 복제 슬레이브 부여; : mysql 구성 파일 my.ini(windows) / my.cnf(linux)를 수정하세요
server-id=1 //给数据库服务的唯一标识,必须唯一 log-bin=master-bin //开启二进制日志 log-bin-index=master-bin.index(3) mysql을 다시 시작하고 상태를 확인한 후 다음을 출력합니다.
mysql> SHOW MASTER STATUS; +-------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +-------------------+----------+--------------+------------------+-------------------+ | master-bin.000001 | 350 | | | | +-------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
server-id=2 relay-log-index=slave-relay-bin.index relay-log=slave-relay-bin //配置中继日志 log_slave_updates = 1 //表示slave将复制事件写进自己的二进制日志 #replicate-do-table=bison.user //库名.表名 用来指定只对数据库中的某张表做同步(2) mysql을 다시 시작하고 마스터에 연결합니다.
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.123',//主服务器ip -> MASTER_USER='link', -> MASTER_PASSWORD='mysql', -> MASTER_LOG_FILE='mysql-bin.000001',//master服务器日志文件,主服务器mysql使用SHOW MASTER STATUS语句 -> MASTER_LOG_POS=0;//日志的开始位置
mysql> SHOW SLAVE STATUS\G
部分显示如下: *************************** 1. row *************************** Slave_IO_State: Master_Host: server1 Master_User: repl Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 4 Relay_Log_File: mysql-relay-bin.000001 Relay_Log_Pos: 4 Relay_Master_Log_File: mysql-bin.000001 <span style="color:#ff0000;"><strong> Slave_IO_Running: No Slave_SQL_Running: No</strong></span>
>
슬레이브 시작;mysql> SHOW SLAVE STATUS\G
部分显示如下:主要看Slave_IO_Running和Slave_SQL_Running
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.234
Master_User: link
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000001
Read_Master_Log_Pos: 350
Relay_Log_File: slave-relay-bin.000002
Relay_Log_Pos: 548
Relay_Master_Log_File: master-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
알겠습니다. 메인 서버에 데이터베이스를 만들어 보세요. 관련 권장 사항: mysql 서버의 마스터-슬레이브 구성 소개
Mysql 시리즈(15) mysql 마스터-슬레이브 구성
mysql 데이터베이스의 마스터-슬레이브 구성에 대한 자세한 설명
위 내용은 mysql 마스터-슬레이브 구성 예시에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!