MySQL Database Cluster
MySQL Database Cluster
Step 1:
Install mysql-server:
Step 2:
Install mysql-shell:
Step 3:
Step 4:
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'clusteradmin'@'%' WITH GRANT OPTION;"
Step 5:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
user = mysql
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0
key_buffer_size = 16M
max_allowed_packet = 64M
thread_stack = 256K
Step 7:
mysqlsh
Step 7:
dba.check_instance_configuration("clusteradmin@dbserver1:3306")
Step 8:
dba.configure_instance("clusteradmin@dbserver1:3306")
Step 9:
\connect clusteradmin@dbserver1:3306
Step 10:
Create a Database Cluster:
Step 11:
myCluster.addInstance('clusteradmin@dbserver2:3306')
myCluster.addInstance('clusteradmin@dbserver3:3306')
Step 12:
myCluster.status()
Step 13:
Create a Router:
vrrp_instance VI_1 {
state MASTER
interface bond0.2
virtual_router_id 50
priority 102
advert_int 1
virtual_ipaddress {
10.0.0.50
}
}
vrrp_instance VI_2 {
state BACKUP
interface enp1s0
virtual_router_id 51
priority 103
advert_int 1
virtual_ipaddress {
10.0.0.50
}
}
2: dba.getCluster().status()
3: dba.getCluster().forceQuorumUsingPartitionOf("clusteradmin@127.0.0.1:3306")
4: cluster.removeInstance("clusteradmin@dbserver2:3306", {force: true})
5: dba.getCluster().rescan()
6: dba.getCluster().status()
7: dba.getCluster().addInstance("clusteradmin@dbserver2:3306")
To Re-add an Instance
1: Connect using mysqlsh
2: dba.getCluster().rejoinInstance(“clusteradmin@dbserver2:3306”)