659441806 发表于 2018-10-5 12:16:07

搭建 MySQL 8.0 InnoDB Cluster-Linux一万小时

  1、在三个节点上安装 MySQL 8.0
  rpm -i https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
  yum install mysql-community-{server,client,common,libs}-* mysql-shell mysql-router
  systemctl start mysqld
  2、修改 my.cnf 配置文件
  #节点1
  server_id=1
  gtid_mode=ON
  enforce_gtid_consistency=ON
  binlog_checksum=NONE
  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= "192.168.1.249:24901"
  loose-group_replication_group_seeds= "192.168.1.249:24901,192.168.1.252:24901,192.168.1.253:24901"
  loose-group_replication_bootstrap_group=off
  loose-group_replication_ip_whitelist="192.168.1.0/24"
  #节点2
  server_id=2
  gtid_mode=ON
  enforce_gtid_consistency=ON
  binlog_checksum=NONE
  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= "192.168.1.252:24901"
  loose-group_replication_group_seeds= "192.168.1.249:24901,192.168.1.252:24901,192.168.1.253:24901"
  loose-group_replication_bootstrap_group=off
  loose-group_replication_ip_whitelist="192.168.1.0/24"
  loose-group_replication_allow_local_disjoint_gtids_join=ON
  #节点3
  server_id=3
  gtid_mode=ON
  enforce_gtid_consistency=ON
  binlog_checksum=NONE
  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= "192.168.1.253:24901"
  loose-group_replication_group_seeds= "192.168.1.249:24901,192.168.1.252:24901,192.168.1.253:24901"
  loose-group_replication_bootstrap_group=off
  loose-group_replication_ip_whitelist="192.168.1.0/24"
  loose-group_replication_allow_local_disjoint_gtids_join=ON
  3、在三个节点创建复制账户
  SET SQL_LOG_BIN=0;

  alter user root@'localhost'>
  CREATE USER root@'%'>
  GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,>  GRANT BACKUP_ADMIN, BINLOG_ADMIN, CONNECTION_ADMIN, ENCRYPTION_KEY_ADMIN, GROUP_REPLICATION_ADMIN, PERSIST_RO_VARIABLES_ADMIN, REPLICATION_SLAVE_ADMIN, RESOURCE_GROUP_ADMIN, RESOURCE_GROUP_USER, ROLE_ADMIN, SET_USER_ID, SYSTEM_VARIABLES_ADMIN, XA_RECOVER_ADMIN ON *.* TO 'root'@'%' WITH GRANT OPTION;
  FLUSH PRIVILEGES;
  SET SQL_LOG_BIN=1;
  4、在第一个节点创建集群并添加节点二、节点三
  MySQLJS > shell.connect('root@kuber01:3306')
  MySQLkuber01:3306 sslJS > cluster.addInstance('root@node02:3306');
  MySQLkuber01:3306 sslJS > cluster.addInstance('root@node03:3306');
  MySQLkuber01:3306 sslJS > cluster.status();
  5、所有节点停止后重启集群:
  var cluster = dba.rebootClusterFromCompleteOutage('myCluster');
  6、配置 MySQL Router
  mysqlrouter --bootstrap root@kuber01:3306 --user=mysqlrouter
  mysqlrouter &
  参考文档:
  https://blog.csdn.net/KokJuis/article/details/78401022
  https://blog.csdn.net/tuyong1972873004/article/details/77260036

页: [1]
查看完整版本: 搭建 MySQL 8.0 InnoDB Cluster-Linux一万小时