1、随便在某一个节点进入存放数据的文件夹下
根据实际位置来
如果没有重新定向路径默认的路径为:
cd /var/lib/docker/volumes/v1/_data
我这里重新定向路径了所以我的路径如下:
cd /docker/pxc/mysql/
2、备份文件
mv grastate.dat grastate.dat.back
mv galera.cache galera.cache.back
mv grastate.dat grastate.dat.back
3、删除掉当前节点
docker rm db2
如果不知道节点名称的可以使用
docker ps -a
进行查询
4、启动节点
现在启动第一个节点
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -v /docker/pxc/mysql:/var/lib/mysql -v /docker/pxc/data:/data --privileged --name=db2 --network=host --restart=always pxc
成功启动第一个节点之后就可以把其他两个节点加入到集群中啦
5、加入节点
加入之前先删除节点
docker rm db1
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=192.*.*.* -v /docker/pxc/mysql:/var/lib/mysql -v /docker/pxc/data:/data --privileged --name=db1 --net=host pxc
docker rm db3
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=192.*.*.*-v /docker/pxc/mysql:/var/lib/mysql -v /docker/pxc/data:/data --privileged --name=db3 --net=host pxc
注意:192.*.*.* 这个ip地址就是之前第一个成功启动的ip地址啦。
6、测试连接
现在使用连接工具连接数据库,
或者
进入容器
docker exec -it db1 bash
docker exec -it db2 bash
docker exec -it db3 bash
执行
mysql -uroot -p
输入密码,能成功连接,mysql集群已经成功重启。
参照文章地址:
https://blog.csdn.net/qq_41813208/article/details/105571715