当前位置: 首页 > news >正文

网站会员后台wordpress分类模板下载

网站会员后台,wordpress分类模板下载,江西建设职业技术学院网站,广州seo招聘pxc学习流程 mysql pxc高可用 单主机 多主机部署(一) mysql pxc 高可用多主机离线部署(二) mysql pxc高可用离线部署(三) mysql pxc高可用 跨主机部署pxc 本文使用docker进行安装,主机间通过…

pxc学习流程

mysql pxc高可用 单主机 多主机部署(一)
mysql pxc 高可用多主机离线部署(二)
mysql pxc高可用离线部署(三)

mysql pxc高可用

在这里插入图片描述

跨主机部署pxc

本文使用docker进行安装,主机间通过docker swarm网络进行通讯。不了解Docker的请自行先网上看以下教程入门一下。这里没有深入的Docker知识,只要跟着命令做就可以了。

三台主机都安装好了docker:

虚拟ip主机IP
node1192.168.56.100
192.168.56.120node2192.168.56.101
node3192.168.56.102

node1 开放防火墙

1)TCP端口2377
该端口用于Docker集群或集群中各节点之间的通信。

它只需要在管理器节点上打开。

2)TCP和UDP端口7946
该端口用于节点之间的通信(容器网络发现)。

3)UDP端口4789
此端口用于覆盖网络流量(集装箱接入网络)。

在node1 开放防火墙:

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.101" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.102" accept"
firewall-cmd --reload
firewall-cmd --list-all

在node2 开放防火墙:

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.100" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.102" accept"firewall-cmd --reload
firewall-cmd --list-all

在node3 开放防火墙:

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.101" accept"
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.56.100" accept"firewall-cmd --reload
firewall-cmd --list-all

1. 在3台主机上配置swarm

  • 创建 /home/pxc
mkdir -p /home/pxc && cd /home/pxc
  • pxcPackage.zip下载地址

  • 链接:https://pan.baidu.com/s/1pbzlkx5U3BhnoWiuxqJGOg?pwd=r1dx

  • 3台机器分别将pxcPackage.zip拷贝到 /home/pxc

  • 在node1上执行:

docker swarm init --advertise-addr 192.168.56.100
docker swarm join-token manager

返回类似以下内容:

docker swarm join --token SWMTKN-1-614xi9dvksycykobgifxb4pgopc1wwgczwqct5wqkq8zao6tmx-0ds4jj3ozclrr2wukcaoakxso 192.168.56.100:2377
  • 在node2、node3上执行上面的返回结果:
docker swarm join --token SWMTKN-1-2c2xopn2rld8oltcof24sue370681ijhbo3bwcqarjlhq9lkea-2g53o5qn2anre4j9puv4hecrn 192.168.0.101:2377

2. 创建swarm网络

在node1上执行以下命令:

docker network create -d overlay --attachable pxc_swarm

3. 3台主机导入PXC镜像

cd /home/pxc/images && bash images-load.sh

4. 创建文件

在3台服务器上分别执行以下命令:

chmod +777 /home/pxc/data

5. 安装第一个节点

node1执行

docker run -d  -v /home/pxc/data:/var/lib/mysql -v /home/pxc/conf/my.cnf:/etc/mysql/my.cnf -v /etc/localtime:/etc/localtime:ro --name node1 -e CLUSTER_NAME=scsdm_pxc -e MYSQL_ROOT_PASSWORD=hancloud1234! -e MYSQL_DATABASE=scsdm -e MYSQL_USER=scsdm -e MYSQL_PASSWORD=scsdm123 --net=pxc_swarm --privileged --restart=always percona/percona-xtradb-cluster:5.7.27

注意自行修改密码,不要使用过于简单的密码。参数说明:

CLUTER_NAME: 集群名称
MYSQL_ROOT_PASSWORD: root密码
MYSQL_DATABASE: 默认初始化数据库名
MYSQL_USER: 默认初始化账号
MYSQL_PASSWORD: 默认初始化密码

docker logs -f node1 
# 出现下面的内容代表启动成功
2023-12-05T09:03:29.104535+08:00 1 [Note] WSREP: Setting wsrep_ready to true
2023-12-05T09:03:29.104539+08:00 1 [Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
2023-12-05T09:03:29.185599+08:00 0 [Note] InnoDB: Buffer pool(s) load completed at 231205  9:03:29

6. 加入其他节点

node2(192.168.56.101):

docker run -d -v /home/pxc/data:/var/lib/mysql  -v /home/pxc/conf/my.cnf:/etc/mysql/my.cnf -v /etc/localtime:/etc/localtime:ro --name node2 -e CLUSTER_NAME=scsdm_pxc -e CLUSTER_JOIN=node1 -e MYSQL_ROOT_PASSWORD=hancloud1234! -e MYSQL_DATABASE=scsdm -e MYSQL_USER=scsdm -e MYSQL_PASSWORD=scsdm123 --net=pxc_swarm --privileged --restart=always percona/percona-xtradb-cluster:5.7.27

node3(192.168.56.102):

docker run -d -v /home/pxc/data:/var/lib/mysql  -v /home/pxc/conf/my.cnf:/etc/mysql/my.cnf -v /etc/localtime:/etc/localtime:ro --name node3 -e CLUSTER_NAME=scsdm_pxc -e CLUSTER_JOIN=node1 -e MYSQL_ROOT_PASSWORD=hancloud1234! -e MYSQL_DATABASE=scsdm -e MYSQL_USER=scsdm -e MYSQL_PASSWORD=scsdm123 --net=pxc_swarm --privileged --restart=always percona/percona-xtradb-cluster:5.7.27

7. 主机启动haproxy服务

在node1服务器上运行以下命令:

# pxc节点挂掉重启后,先执行删除haproxy,再执行create(重启后之前的代理找不到服务)
# docker service rm haproxy
docker service create --replicas 3 --hostname haproxy -p 3306:3306 -p 8888:8888 --mount type=bind,source=/home/pxc/haproxy/haproxy.cfg,destination=/usr/local/etc/haproxy/haproxy.cfg --mount type=bind,source=/etc/localtime,destination=/etc/localtime:ro --name haproxy --network=pxc_swarm haproxy:alpine

8.安装keepalive 3台都安装

安装依赖

cd /home/pxc/installKeepalived && chmod +x installKeepalived.sh && ./installKeepalived.sh

修改 keepalive配置

cp  /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.confbak cat > /etc/keepalived/keepalived.conf << EOF
global_defs {router_id LVS_2script_user root                    # 脚本执行用户enable_script_security              # 开启脚本安全权限
}vrrp_script checkhaproxy
{script "/home/pxc/installKeepalived/check-haproxy.sh"  # 这个地址写的事容器内脚本路径interval 2weight -30
}vrrp_instance VI_1 {state BACKUPinterface enp0s3virtual_router_id 51priority 100advert_int 1nopreemptvirtual_ipaddress {# 需要修改成对应的虚拟ip192.168.56.120}authentication {auth_type PASSauth_pass password}track_script {checkhaproxy}
}
EOF

启动

service keepalived start

设置开机自启

chkconfig keepalived on
systemctl list-unit-files | grep keepalived

9. 连接数据库

对外:

使用 虚拟ip 192.168.56.120 3306

访问 http://192.168.56.120:8888/dbs 进行监控

对内运维:

可以通过连接192.168.56.100 3306 192.168.56.101 3306 192.168.56.102 3306进行数据库操作了

访问 http://192.168.56.100:8888/dbs http://192.168.56.101:8888/dbs http://192.168.56.102:8888/dbs 分别进行监控

账号 admin

密码 admin

在这里插入图片描述

10.数据迁移

导出数据
mysqldump -u root -p mcp_manager --skip_add_locks --skip-lock-tables > mcp_manager_20220118.sql

FAQ:

常用命令

Docker-Swarm集群管理

1、查看swarm集群节点情况

在manager节点查看

docker node ls

在这里插入图片描述

2、查看网络情况
docker network ls

在这里插入图片描述

3、退出swarm集群

在需要退出的节点执行

docker swarm leave -f

在这里插入图片描述

在manager节点查看

docker node ls

在这里插入图片描述

4、重新加入swarm集群

在manager节点查看加入命令

docker swarm join-token worker

在这里插入图片描述

查看节点情况

docker node ls

在这里插入图片描述

5、删除无用的节点
docker node rm 节点   【强制移除运行中的节点】
docker node rm xlpm9aemu7psw5j7mi7udpbqq

在这里插入图片描述

查看节点情况

docker node ls

在这里插入图片描述

6、查看keepalived日志
tail -f /var/log/messages

在这里插入图片描述

常见错误
1、node1 pxc 出现错误日志

在这里插入图片描述

修改方法:

修改配置文件edit the grastate.dat file manually and set safe_to_bootstrap to 1 .

在这里插入图片描述

修改后

在这里插入图片描述

再次重启node1

在这里插入图片描述

2、浏览监控页面查看节点情况

访问 http://192.168.56.120:8888/dbs 进行监控

账号密码都是admin

正常情况

在这里插入图片描述

异常情况

在这里插入图片描述

恢复流程

检查服务器是否启动–>检查docker是否启动–>检查docker服务是否启动–>检查服务日志是否正常–>查看监控界面是否恢复

1、检查服务器是否启动

开启服务器

2、检查docker是否启动

在这里插入图片描述

启动docker

systemctl restart docker
systemctl status docker

3、检查docker服务是否启动

docker ps

在这里插入图片描述

docker ps -a

在这里插入图片描述

启动服务

docker start 179
docker start a79

在这里插入图片描述

访问对应node3机器的监控界面

http://192.168.56.102:8888/dbs

在这里插入图片描述

其他节点的监控界面

在这里插入图片描述

在这里插入图片描述

重启对应的节点的haproxy

docker restart haproxy01
docker restart haproxy02

集群恢复正常

3、 with pxc_strict_mode = ENFORCING

在这里插入图片描述

Percona-XtraDB-Cluster prohibits use of LOCK TABLE/FLUSH TABLE

WITH READ LOCK/FOR EXPORT with pxc_strict_mode = ENFORCING

导出sql的时候执行

 mysqldump -u root -p database --skip_add_locks --skip-lock-tables > mcp_manager_20220118.sql

追加 --skip_add_locks --skip-lock-tables

4、unblock with ‘mysqladmin flush-hosts’"

在haproxy日志中发现

在这里插入图片描述

Server mysql/s1 is DOWN, reason: Layer7 wrong status, code: 1129, info: “Host ‘10.0.0.28’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’”, check duration: 0ms. 1 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.

去pxc 节点都去执行

docker exec -it -u root node1 bash -c 'mysqladmin flush-hosts -uroot -phancloud1234!'
5、pxc_strict_mode = ENFORCING or MASTER

在这里插入图片描述

ERROR 1105 (HY000): Percona-XtraDB-Cluster prohibits use of DML command on a table (mcp_manager_3_7_6.scs_field_dict) without an explicit primary key with pxc_strict_mode = ENFORCING or MASTER

执行

show global variables like '%pxc_strict_mode%';
SET GLOBAL pxc_strict_mode=PERMISSIVE;
show global variables like '%pxc_strict_mode%';
6、Got an error reading communication packets

在这里插入图片描述

2022-01-18T08:07:02.521305Z 21053 [Note] Aborted connection 21053 to db: ‘mcp_manager_3_7_6’ user: ‘root’ host: ‘haproxy02.pxc_swarm’ (Got an error reading communication packets)

vi /home/pxc/package/my.cnf
# 修改
max_allowed_packet	= 1024M
innodb_buffer_pool_size=2048M
7、Variable ‘time_zone’ can’t be set to the value of ‘NULL’

在这里插入图片描述

这个问题的原因是因为数据sql文件内部有注释,去掉就可以了(也可以不用管)

/*!40000 ALTER TABLE `t_error_identification` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

在这里插入图片描述

page_cleaner: 1000ms intended loop took 4087ms. The settings might not be optimal. (flushed=897, during the time.)

http://www.yayakq.cn/news/456206/

相关文章:

  • 网站建设与管理专业的行业发展wordpress 拖拽神器
  • 工厂网站建设费用提升学历图片
  • 网站建设包含美工网站建设模板ppt
  • 提供网站建设工具的公司南雄市住房和城乡建设局网站
  • 网站设计论文前言怎么写宁波建设商城网站
  • 广州网站建设推荐乐云seo搭建自己的网站需要什么
  • 企业网站做几个合适深圳微信公众号开发
  • 网站后台源代码更改郑州网站建设服务商
  • 订做网站建设东莞专业的单位网站建设
  • 商务网站建设难不难新闻类网站的设计
  • 网站安全建设管理制度电子商务网站建设考试题
  • 电子商务网站建设与管理课后规划一个电子商务网站
  • 上海松江做网站公司wordpress persona
  • 网页创建网站o2o的四种营销模式
  • 松阳县建设局网站公示哪个网站可以学做标书
  • 南宁做网站seo学院网站源码
  • 徐州免费建站搭建网站免费
  • 中国做的比较好的网站设计公司有哪些wordpress wp config
  • 厦门h5建站广告设计logo标志
  • 门户网站建设思路谁有人和兽做的网站?
  • 大渡口网站建设店铺设计费用怎么收费
  • 写作网站投稿哪个好文化建设设计网站
  • 建设大型网站设计公司我自己的网站怎么做关键词优化
  • 搭建一个网站的基本流程网站微信支付怎么做的
  • 青岛建立网站电话物流信息平台网站建设
  • 做双语网站用什么cms系统好十堰小程序开发
  • 成都外贸网站建设费用权重高的博客网站
  • 网站如何百度收入oa系统登录界面
  • 渭南网站建设电话论坛平台主要产品
  • 网站目录文件夹页面设计存在的问题