Symptom
- Status mysql-innodb-cluster/XX pada juju status down
- Kejadian umumnya terjadi karena mesin mati karena arus terputus
Solusi
Masuk ke master untuk melihat password mysql
$ juju run --unit mysql-innodb-cluster/1 leader-get
Masuk ke salah satu node mysql cluster dan download mysql-sh
$ wget https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell_8.0.34-1ubuntu22.04_amd64.deb
$ sudo dpkg -i mysql-shell_8.0.34-1ubuntu22.04_amd64.deb
lalu ikuti wizzard.
Setelah terinstall, ketikan command untuk masuk ke shell mysql (leader IP 23)
$ mysqlsh clusteruser@192.168.50.23 --js
Note : untuk password lihat command sebelumnya, bagian "cluster-password"
Setelah masuk shell ketikan
$ var cluster = dba.getCluster("jujuCluster")
note : untuk jujuCluster disini nama cluster MySQL, disesuaikan dengan nama cluster yang dibuat
Remove node-node mysql cluster yang bermasalah
$ cluster.removeInstance('root@192.168.50.24:3306',{force: true})
$ cluster.removeInstance('root@192.168.50.25:3306',{force: true})
Lalu masuk ke masing-masing node yang bermasalah (Misal IP 24)
$ mysql -u root -p
Note : password dari command leader-get
$ set GLOBAL super_read_only = OFF;
$ STOP GROUP_REPLICATION;
$ RESET SLAVE ALL;
$ DROP DATABASE mysql_innodb_cluster_metadata;
Setelah semua node selesai, masuk kembali ke shell, add kembali instance yang bermasalah
$ cluster.addInstance({user: "clusteruser", host: "192.168.50.24", port: 3306, password: "XXXXXX"});
$ cluster.addInstance({user: "clusteruser", host: "192.168.50.25", port: 3306, password: "XXXXXX"});
Note : XXXXXX = password mysql cluster