집 >데이터 베이스 >MySQL 튜토리얼 >Ubuntu16.04에서 MySql의 GR을 사용하는 방법에 대한 자세한 설명
본 글에서는 주로 ://www.php.cn/code/5320.html" target="_blank"> 의 GR, 이 글은
를 참고하시면 아주 자세하게 소개되어 있습니다. 1. 서문
이 글은 주로 순수 시스템에서 MySql 5.7.17을설치하는 방법과 GR을 사용하여 나중에 보고 다른 사람들과 공유할 수 있도록 기록하는 것입니다
2. 설치.mysql
기본 우분투 소스가 최신 mysql이 아니기 때문에 다음 단계에 따라 최신 설치 패키지를 설치해야 합니다. 물론 여기서는 여전히 apt를 사용하여 설치합니다. 🎜>1. apt 저장소 다운로드 2. apt 저장소 설치sudo dpkg -i mysql-apt-config_0.8.3-1_all.deb
설치 과정에서 버전을 선택할 수 있는 인터페이스가 나타납니다. 첫 번째 버전을 선택하면 5.7이면 충분합니다. 물론 8.0을 선택할 수도 있습니다.
3. apt Warehouse를 업그레이드하고 mysql을 설치합니다
sudo apt-get update sudo apt-get install mysql-server지금까지 최신 MySql 버전을 설치했습니다. , 아래 키 구성 부분을 먼저 읽어 보시고 직접 따르지 않는 것이 좋습니다. 먼저 /etc/mysql/에서 my.cnf 구성을 열고 다음 구성 정보를 작성하세요.
server_id=1 bind-address=0.0.0.0 gtid_mode=ON enforce_gtid_consistency=ON master_info_repository=TABLE relay_log_info_repository=TABLE binlog_checksum=NONE log_slave_updates=ON log_bin=binlog binlog_format=ROW transaction_write_set_extraction=XXHASH64 loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" loose-group_replication_start_on_boot=off loose-group_replication_local_address= "10.0.0.4:24901" loose-group_replication_group_seeds= "10.0.0.4:24901,10.0.0.5:24902,10.0.0.6:24903" loose-group_replication_bootstrap_group= off설명하고 싶은 구성이 있는데, "server_id"는 각 머신이 모두 다르도록 해야 합니다. IP 주소의 네 번째 부분인 "loose-group_replication_group_nam"을 직접 사용해야 합니다. 이는 각 머신에서 일관되게 그룹을 식별하는 것과 동일합니다. 나머지 차이점은 "loose-group_replication_local_address" 매개변수입니다. "이것은 현재 머신의 IP 주소로 지정되어야 하며 다음 포트는 GR이 사용하는 포트를 나타냅니다. 모니터링이 필요합니다. "loose-group_replication_group_seeds" 매개변수에 있는 머신의 IP 주소와 포트가 다른 머신에서 정확하다면 포트를 임의로 수정할 수 있습니다. (이 포트는 mysql의 기본 포트 3306과 무관합니다.)
위 작업을 완료한 후 mysql 서비스를 다시 시작합니다sudo service mysql restart
2. 새 사용자를 생성합니다
mysql -u root -p에서 현재 데이터베이스에 연결합니다. 다음 SQL 문
mysql> SET SQL_LOG_BIN=0; mysql> CREATE USER rpl_user@'%'; mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass'; mysql> FLUSH PRIVILEGES; #在从数据库不需要执行 mysql> SET SQL_LOG_BIN=1; mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' FOR CHANNEL 'group_replication_recovery';프로덕션 환경인 경우 사용자는 해당 계정과 비밀번호를 설정할 수 있습니다. 여기서 테스트를 위해서는 공식 계정을 직접 사용합니다. 3. 플러그인 설치해당 SQL 문을 계속 실행합니다
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';현재 플러그인이 설치되어 있는지 확인하려면 다음 문을 사용하세요
쿼리
mysql> SHOW PLUGINS;4. 호스트 구성최종 GR을 시작하기 전에 해당 호스트를 수정하고 호스트 이름과 IP를 일치시켜야 합니다. 그렇지 않으면 나중에 다른 노드에 연결할 때 mysql은 호스트 이름에 의존하여 연결하기 때문에 연결이 불가능한 현상이 발생합니다. 호스트 열기sudo vim /etc/hosts
다음 내용을 작성하세요(현재 환경과 컴퓨터 이름은 이렇습니다)
10.0.0.4 mysql-1 10.0.0.5 mysql-2 10.0.0.6 mysql-3완전 종료 위의 구성 후 mysql에 진입하여 계속 실행합니다 5. GR 켜기다음 방법은 마스터 노드를 여는 방법입니다(처음 설치하는 경우에만 필요) 나중에는 필요하지 않습니다)
mysql> SET GLOBAL group_replication_bootstrap_group=ON; mysql> START GROUP_REPLICATION; mysql> SET GLOBAL group_replication_bootstrap_group=OFF;슬레이브 노드에서 다음 문장을 실행하면 됩니다.
mysql> START GROUP_REPLICATION;현재 조인이 성공했는지 확인하려면 다음을 통해 확인할 수 있습니다. 문장:
mysql> SELECT * FROM performance_schema.replication_group_members;이제 모든 구성이 끝났습니다. 다른 슬레이브 노드는 위 단계만 따르면 됩니다. 테스트를 위해서는 마스터 노드에 새 데이터베이스를 생성하고, 테이블을 생성하고, 데이터를 작성하면 됩니다. 다른 데이터베이스도 동기화됩니다. 그런 다음 기본 노드를 닫은 후 명령문을 통해 현재 기본 노드인 노드를 쿼리할 수 있습니다.
mysql> select *from performance_schema.replication_group_members where member_id =(select variable_value from performance_schema. global_status WHERE VARIABLE_NAME= 'group_replication_primary_member');Xamarin.
Android
-> -> 혼합-> Xamarin.Forms위 내용은 Ubuntu16.04에서 MySql의 GR을 사용하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!