0% found this document useful (0 votes)
130 views

InnoDB Cluster Notes

This document provides instructions for setting up MySQL replication across 3 server instances using Group Replication. It involves: 1) Configuring the MySQL configuration file on each instance for Group Replication. 2) Starting the MySQL service and creating a user for replication. 3) Verifying GTID execution on each instance and resetting the master. 4) Connecting to mysqlsh and creating a cluster, then adding each instance to the cluster and checking the cluster status.

Uploaded by

Stephen Efange
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
130 views

InnoDB Cluster Notes

This document provides instructions for setting up MySQL replication across 3 server instances using Group Replication. It involves: 1) Configuring the MySQL configuration file on each instance for Group Replication. 2) Starting the MySQL service and creating a user for replication. 3) Verifying GTID execution on each instance and resetting the master. 4) Connecting to mysqlsh and creating a cluster, then adding each instance to the cluster and checking the cluster status.

Uploaded by

Stephen Efange
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

yum install mysql-shell mysql-router -y

# Open /etc/my.cnf and paste the following lines on the 3 instances(machine) and
change server id,bind-address,report_host,loose-group_replication_local_address for
the other 2 instances.

[mysqld]
plugin-load = group_replication.so
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_bootstrap_group = OFF
loose-group_replication_start_on_boot = OFF

loose-group_replication_group_name = "959cf631-538c-415d-8164-ca00181be227"
loose-group_replication_ip_whitelist
="192.168.56.106,192.168.56.107,192.168.56.108"
loose-group_replication_group_seeds
="192.168.56.106:33061,192.168.56.107:33061,192.168.56.108:33061"

loose-group_replication_single_primary_mode = OFF
loose-group_replication_enforce_update_everywhere_checks = OFF

server_id = 1
bind-address = "192.168.56.106"
report_host = "192.168.56.106"
loose-group_replication_local_address = "192.168.56.106:33061"

systemctl start mysqld

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Elokojoe77@';

flush privileges;

SET sql_log_bin = OFF;


CREATE USER 'innodb'@'%' IDENTIFIED BY 'Elokojoe77@';

GRANT SELECT, RELOAD, SHUTDOWN, PROCESS, FILE, SUPER, REPLICATION SLAVE,


REPLICATION CLIENT, CREATE USER ON *.* TO 'innodb'@'%' WITH GRANT OPTION;

GRANT INSERT, UPDATE, DELETE ON `mysql`.* TO 'innodb'@'%' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON `mysql_innodb_cluster_metadata`.* TO 'innodb'@'%' WITH


GRANT OPTION;

SET sql_log_bin = ON;

SELECT @@group_replication_group_name;

Go back to vi /etc/my.cnf and Edit the loose-group_replication_group_name

systemctl restart mysqld


mysql -u root -p

SELECT @@global.gtid_executed;

RESET MASTER;

SELECT @@global.gtid_executed;

Log on to mysqlsh

dba.checkInstanceConfiguration('innodb@centos01:3306')

shell.connect('innodb@centos01:3306')

var cluster = dba.createCluster('testCluster')

cluster.status();

GO TO the 2ND instance(machine 2 centos07)

mysql -u root -p -e "SELECT @@global.gtid_executed;"

mysql -u root -p -e "RESET MASTER;"

mysql -u root -p -e "SELECT @@global.gtid_executed;"

Log on to mysqlsh

dba.checkInstanceConfiguration('innodb@centos02:3306')

\connect innodb@centos01:3306

cluster = dba.getCluster()

cluster.addInstance('innodb@centos02:3306')

cluster.status();

Go to the 3rd instance(machine centos08)

mysql -u root -p -e "SELECT @@global.gtid_executed;"

mysql -u root -p -e "RESET MASTER;"

mysql -u root -p -e "SELECT @@global.gtid_executed;"

Log on to mysqlsh

dba.checkInstanceConfiguration('innodb@centos03:3306')

\connect innodb@centos01:3306

cluster = dba.getCluster()

cluster.addInstance('innodb@centos03:3306')

cluster.status();
OPen a diffrent ssh for centos01 and log on to mysql

mysql -u root -p

SHOW PLUGINS;

You might also like