docker中mysql pxc集群
PXC集群
https://hub.docker.com/r/percona/percona-xtradb-cluster
安装PXC镜像
下载镜像或者导入本地镜像
docker pull percona/percona-xtradb-cluster docker load < /home/soft/pxc.tar.gz 修改镜像名字
docker tag docker.io/percona/percona-xtradb-cluster pxc
删除镜像
docker rmi docker.io/xx
查看镜像
docker images 创建内部网络
docker network create net1
docker network inspect net1
docker network rm net1 创建Docker卷
容器中的pxc节点映射数据目录的解决办法
docker volume create --name v1
查看
docker inspect v1
删除
docker volume rm v1 实战
docker volume create v1
docker volume create v2
docker volume create v3
docker volume create v4
docker volume create v5 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=ABC123456 -V V1:/var/lib/mysql --privileged --name=node --net=net1 --ip 172.18.0.2 pxc 数据库负载均衡
安装Haproxy镜像
docker pull haproxy
创建Haproxy配置文件
touch /home/soft/haproxy.cfg 创建Haproxy容器
docker run -it -d -p 4001:8888 -p 4002:3306 -v /home/soft/haproxy:/usr/local/etc/haproxy --name haproxy --privileged --net=net1 haproxy haproxy -f /usr/local/etc/haproxy/haproxy.cfg 进入一个允许容器
docker exec -it h1 bash haproxy -f /usr/local/etc/haproxy/haproxy.cfg CREATE USER 'haproxy'@'%’ IDENTIFIED BY '';
配置keepalived 启动 Keepalived
service keepalived start 数据库热备份 MYSQL常见的热备有LVM和XtraBackUp两种方案 全量备份和增量备份
创建数据卷 用于映射宿主机内和容器内路径
docker volume create backup docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged -e CLUSTER_JOIN=node2 --name=node1 --net=net1 --ip 172.18.0.2 pxc pxc全量备份步骤
apt-get update
apt-get install percona-xtrabackup-24
全量备份
innobackupex --user=root --password=abc123456 /data/backup/full pxc全量恢复步骤
第一步 删除 mysql数据
rm -rf /var/lib/mysql/*
第二步 apply-back 回滚没有提交的事务
innobackupex --user=root --password=abc123456 --apply-back /data/backup/full/2018-04-15_05-09-07/
第三步 copy-back还原的意思
innobackupex --user=root --password=abc123456 --copy-back /data/backup/full/2018-04-15_05-09-07/ 还原冷备份 数据 前提工作 docker stop node1 node2 node3 node4 node5 停掉5个pxc节点
docker rm node1 node2 node3 node4 node5 删除5个pxc节点
docker volume rmn v1 v2 v3 v4 v5 删除映射的数据卷
docker volume create v1 创建新的数据卷 启动一个pxc节点
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged -e CLUSTER_JOIN=node2 --name=node1 --net=net1 --ip 172.18.0.2 pxc
进入node1节点容器
docker exec -it node1 bash
执行冷还原 pxc全量恢复步骤 退出一下容器 exit
重启下node1节点
docker stop node1
docker start node1
docker中mysql pxc集群的更多相关文章
- MySQL PXC集群安装配置
1.关闭防火墙 [root@node04 ~]#systemctl disable firewalld [root@node04 ~]#systemctl stop firewalld [root@n ...
- MySQL PXC集群部署
安装 Percona-XtraDB-Cluster 架构: 三个节点: pxc_node_0 30.0.0.196 pxc_node_1 30.0.0.198 pxc_node_2 30.0.0.19 ...
- 基于Docker的Mysql Cluster集群
参考 mysql-cluster镜像 https://medium.com/@ahmedamedy/mysql-clustering-with-docker-611dc28b8db7 使用Docker ...
- 使用docker部署mysql主从复制集群
一.环境搭建 虚拟机环境:centos7 IP: 启动3个容器,一个是master,端口是3307,另外两个是slaver,端口是3308和3309 docker pull mysql:5.7 doc ...
- Docker中搭建zookeeper集群
1.获取官方镜像 从dockerhub获取官方的zookeeper镜像: docker pull zookeeper 2.了解镜像内容 拉取完镜像后,通过 docker inspect zookeep ...
- 从零开始学习docker之在docker中搭建redis(集群)
docker搭建redis集群 docker-compose是以多容器的方式启动,非常适合用来启动集群 一.环境准备 云环境:CentOS 7.6 64位 二.安装docker-compose #需要 ...
- Docker搭建MySQL主从集群,基于GTID
写在前边 搭建MySQL读写分离主从集群,这里未使用binlog方式,使用的是GTID方式 源码见我的Github https://github.com/hellxz/mysql-cluster-do ...
- mysql PXC集群方案总结
同时写集群内的所有机器 写性能依赖最慢的那个机器 读性能提高X倍
- docker mysql pxc集群(percona-xtradb-cluster)
docker pull percona/percona-xtradb-cluster docker tag percona/percona-xtradb-cluster pxc docker netw ...
随机推荐
- Clickhouse高可用配置总结
1. 简述 Clickhouse默认是多分片单副本集群,分布式表的配置是每个分片只有一份,如果某个节点挂掉的话,则会直接导致写入或查询异常:Clickhouse是具有高可用特性的,即每个分片具有2个或 ...
- springmvc跨域问题的解决
如果只想对某个方法开启跨域设置: controller上添加注解: @CrossOrigin(maxAge = 3600) 在特定的方法上添加注解: @CrossOrigin("*" ...
- appium自动化webview时遇到的chromedriver问题
安卓app里面的网页,基本上都是使用手机系统上的webview 去显示的. 安卓 webview 可以看成是 手机上的 chrome 浏览器精简版. appium desktop 里面内置了 用于 w ...
- Nginx 脚本自动进行日志切割
随着网站的运行时间越来越长,日志文件也会随之越来越大需要对Nginx日志进行切割,下面是每周六晚上自动进行日志切割的shell脚本 脚本如下: [root@jrjs ~]# vim /usr/loca ...
- Tomcat+Nginx+Memcached综合案例
Tomcat+Nginx+Memcached综合案例 说明 通过Nginx解析静态页面并将动态负载均衡调度给后面的多个Tomcat,Tomcat解析java动态程序. 由于http是无状态的协议,你访 ...
- APP测试之MONKEY安装、使用
1.先下载java的jdk;配置java变量 安装好之后会有两个文件夹一个是jdk 一个是jre(运行)然后配置好java环境变量:JAVA_HOME:C:\Program Files\Java\jd ...
- 使用flask搭建微信公众号:接收与回复消息
token验证的意义 在看了别人的代码之后对token加密有了些理解了.但又觉得很鸡肋.第一次验证服务器的时候我在那弄了半天的验证其实不写也可以验证成功,只要直接返回echostr这个字段就行了.微信 ...
- webpack-dev-server 本地代理proxy
proxy: [ { context: ['/user', '/rights', '/resource/getAdNotice'], target: 'https://plus.m.jd.com', ...
- 清除DNS缓存和刷新DHCP列表
ipconfig /release 只是释放IP地址,然后还需要ipconfig /renew在重新获取一下 如何清除DNS缓存?开始-运行,如下图所示: 在谈出的对话框中输入“cmd”,如下图所示: ...
- mongoDB新增数据库
现在,如果我们想创建名为exampledb的数据库.只需运行以下命令并在数据库中保存一条记录.保存第一个示例后,将看到已创建新数据库. use tt 这样就创建了一个数据库,如果什么都不操作离开的话, ...