InnoDB Cluster 一节点丢失
初始化故障节点
systemctl stop mysqld
rm -rf /var/lib/mysql/*
systemctl start mysqld
导出正常节点的数据库,并传到故障节点
mysqldump --all-databases --triggers --routines --events --quick --single-transaction --flush-logs --master-data=2 > dbs.dump
scp dbs.dump 192.168.1.224:~/
故障节点导入数据库
mysql> set sql_log_bin=0;
mysql> ALTER USER [email protected]‘localhost‘ IDENTIFIED BY ‘MySQL8.0‘;
mysql> source dbs.dump
mysql> set sql_log_bin=1;
重启故障节点 MySQL
systemctl restart mysqld
将故障节点重新加入集群
MySQL 192.168.1.226:33060+ ssl JS > var cluster=dba.getCluster(‘appCluster‘)
MySQL 192.168.1.226:33060+ ssl JS > cluster.removeInstance(‘[email protected]:3306‘)
MySQL 192.168.1.226:33060+ ssl JS > cluster.addInstance(‘[email protected]:3306‘)
集群恢复正常
MySQL 192.168.1.226:33060+ ssl JS > cluster.status()
{
"clusterName": "appCluster",
"defaultReplicaSet": {
"name": "default",
"primary": "192.168.1.226:3306",
"ssl": "REQUIRED",
"status": "OK",
"statusText": "Cluster is ONLINE and can tolerate up to ONE failure.",
"topology": {
"192.168.1.224:3306": {
"address": "192.168.1.224:3306",
"mode": "R/O",
"readReplicas": {},
"role": "HA",
"status": "ONLINE"
},
"192.168.1.225:3306": {
"address": "192.168.1.225:3306",
"mode": "R/O",
"readReplicas": {},
"role": "HA",
"status": "ONLINE"
},
"192.168.1.226:3306": {
"address": "192.168.1.226:3306",
"mode": "R/W",
"readReplicas": {},
"role": "HA",
"status": "ONLINE"
}
}
},
"groupInformationSourceMember": "mysql://[email protected]:3306"
}
原文地址:http://blog.51cto.com/linux10000/2177488
时间: 2024-11-10 07:49:38