使用python脚本部署mariadb主从架构】的更多相关文章

环境准备 一个脚本自动部署master服务 另一个部署slave服务 关闭主从节点的防火墙 以及事先设置好root远程登陆的权限. grant all on *.* to root@'%'  identified by 'root' ; master import paramikossh=paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(hostname='192.16…
环境准备 一个脚本自动部署master服务 另一个部署slave服务 关闭主从节点的防火墙 以及事先设置好root远程登陆的权限. master import paramikossh=paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(hostname='192.168.253.180',port=22,username='root',password='369369yn…
主机部署: import configparser import os def config_mariadb_yum(): exists = os.path.exists('/etc/yum.repos.d/mariadb.repo') if exists: print('mariadb.repo文件已经存在') yum_install_mariadb() else: config = configparser.ConfigParser() config.read('/etc/yum.repos…
mariadb主从架构(异步)和集群 一般应用的场所是网站,主的机器是可以写可以读,从的机器可以读,也可以写,但不会同步.只有主的机器增删改,从的机器才会同步. 主从至少三个线程:dump.I/O thread. SQLthread binary log:二进制日志,对于二进制文件的记录是串行(一条一条)记录. relay log:中继日志 原理:I/O线程先读到二进制日志(Binary log),然后dump线程给I/O线程返回,返回后写入到中继日志(Relay log),而后SQL线程进行读…
master import configparser import os def config_mariadb_yum(): exists = os.path.exists('/etc/yum.repos.d/mariadb.repo') if exists: print('mariadb.repo文件已经存在') yum_install_mariadb() else: config = configparser.ConfigParser() config.read('/etc/yum.repo…
一 mariadb主从多用于网站架构,因为该主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构来搭建 主:可以写,可以读,从同步 从:可读,但是写的话主不会同步 工作原理: 当有数据进入到master 时,binarylog (二进制日志)会做出相应的记录,从节点要想读取到主节点的Binarylog日志,需要在master 上创建一个同步账号,用来从节点(master)登录来读取Binary…
一.安装Docker并部署Zabbix 建议先配置清华大学的docker-ce yum源,速度有保障:清华大学repo源 1.Zabbix Server节点配置 部署环境: [root@server0 ~]# docker -v Docker version , build 4c52b90 [root@server0 ~]# cat /proc/version Linux version -.el7.x86_64 (builder@kbuilder.dev.centos.org) ( (Red…
针对目前公司的数据库架构要做统计规划和调整,所以针对不同的业务环境要选择合适的架构就比较重要,同时作为运维人员又要考虑到维护的便捷性(不能做过多架构维护),最终停留在mha+vip/主从+vip/mycat集群/域名+主从这几种架构或组合,这里就分布对不同架构部署做下记录并对比起优劣,针对不同场景做出合适的选择. 本文主要针对主备自动切换,即VIP+主从方式,其中VIP通过keepalived控制. 一.环境描述 服务器IP 操作系统 数据库 硬件配置 备注 192.168.1.23 RHEL6…
#!/usr/bin/env python #--coding:utf8-- import sys,subprocess,os,datetime,paramiko,re local_path='/home/pangpeng/' nginx_web_path='/var/www/html/' tomcat_webapps_path='/usr/local/tomcat7/webapps/' backup_nginx_path='/tmp/backup_nginx/' backup_tomcat_a…
一.Memcached1.简介Memcached 是一个高性能的分布式内存对象缓存系统,一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性.用来存储小块的任意数据(字符串.对象).比如:数据库调用.API调用或者是页面渲染的结果. 2.本质它是一个简洁的key-value存储系统.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. 3.特征 ①协议简单 ②基于libevent的事…
有时候手工执行Python脚本跑的好好的,但是部署到Linux的crontab中后,就会遇到一些问题,最近终于有空整理一下这方面的内容,其实也是自己也踩了一些别人踩过的坑!这里仅仅列举个人遇到的一些小问题,经验和精力问题,不能面面俱到,仅总结一下自己遇到的这些问题. 环境变量问题   cron中的环境变量和系统的环境变量是不一样的,我们可以通过设置定时脚本将cron中的环境变量打印出来,然后一对比,你就能发现差异 * * * * * env > /tmp/env.txt 如果你Python脚本中…
遇到的坑: Python脚本中的文件操作,最好都用绝对路径, 文件头上写 #!/usr/local/bin/python3.6 ----------------------------------- sh文件这样写: #!/bin/bash/usr/local/bin/python3.6  /root/area/bin.py----------------------- crontab -e 添加定时任务 25 * * * * /bin/sh /root/area/xxx.sh>>/root/…
部署企业LNMP架构 1===============部署Nginx 2===============安装及部署Mysql数据库 3===============安装PHP解析环境 4===============配置Nginx支持PHP环境 5===============LNMP平台部署web应用 关闭相关安全机制 [root@nginx~]#systemctl stop firewalld [root@nginx~]#iptables-F [root@nginx~]#setenforce…
在软件项目开发中,我们经常提到一个词“code review”.code review中文翻译过来就是代码评审或复查,简而言之就是编码完成后由其他人通过阅读代码来检查代码的质量(可编译.可运行.可读.可维护.可复用),这些性质都比较抽象,但是一般都可以通过以下的检查点来实现: 检查代码的命名方式是否符合规范,代码的可读和可维护必须要求所有参与编码的同事使用的命名有统一的规范(注意每个人有自己的代码风格,但是要符合可读性的代码规范): 检查代码的注释,我认为注释至少包括:1.类要有类用途和使用事项…
实例拓扑图: DR1和DR2部署Keepalived和lvs作主从架构或主主架构,RS1和RS2部署nginx搭建web站点. 注意:各节点的时间需要同步(ntpdate ntp1.aliyun.com):关闭firewalld(systemctl stop firewalld.service,systemctl disable firewalld.service),设置selinux为permissive(setenforce 0):同时确保DR1和DR2节点的网卡支持MULTICAST(多播…
一主一从,往主节点去写,在从节点去读,可以读到,主从架构就搭建成功了 1.启用复制,部署slave node wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz tar -xzvf tcl8.6.1-src.tar.gz cd /usr/local/tcl8.6.1/unix/ ./configure make && make install 使用redis-3.2.8.tar.gz tar -zxvf redis-3…
一.简介 1.国际惯例什么是puppet puppet是一种Linux.Unix.windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系. puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互.每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步.每个puppe…
环境准备两台: 192.168.193.90 master 192.168.193.91 slave 需要Linux装python环境: https://www.cnblogs.com/kingzhe/p/11124527.html 在做主从时,要保证两个数据库的信息一致 [root@node1 ~]# mysql_secure_installation [root@node2 ~]# mysql_secure_installation master import configparser im…
Tomcat 服务器网页部署,登录需用户名/密码,编写了一个简单的Python脚本来测试一些简单的弱口令. 测试环境:Tomcat版本 7.0 登录界面采用basic认证,Base 64加密一下,模拟浏览器进行发包 据测试,每个用户名输入5次错误的密码会锁定用户,想了一些办法,还是没能绕过,这里做个记录,有时间再完善. 目前只能用于简单的弱口令测试 Python脚本如下: import urllib import urllib2 import time import base64 names=[…
python脚本实现集群检测和管理 场景是这样的:一个生产机房,会有很多的测试机器和生产机器(也就是30台左右吧),由于管理较为混乱导致了哪台机器有人用.哪台机器没人用都不清楚,从而产生了一个想法--利用一台机器来管理所有的机器,记录设备责任人.设备使用状态等等信息....那么,为什么选择python,python足够简单并且拥有丰富的第三方库的支持. 最初的想法 由于刚参加工作不久,对这些东西也都没有接触过,轮岗到某个部门需要做出点东西来(项目是什么还没情况,就要做出东西来,没办法硬着头皮想点…
之前写了一个小工具,将excel配置表转换为json.xml.lua等配置文件.最近在学习egret,正好需要转换配置文件,刚好就用上了.然而当我想把工具拷到工作目录时,就发愁了.之前我为了方便扩展,把程序拆分得太细: xzc@xzc-HP-ProBook-4446s:~/Documents/code/github/py_exceltools$ ls -lh 总用量 80K drwxrwxr-x xzc xzc .0K 7月 : bin drwxrwxr-x xzc xzc .0K 7月 : c…
最近看了看强大的号称自动化运维的三大利器之一的--ansible,ok,亲测之后,确实感觉,对于我们这种DBA工作者来说,确实很受益. 值得注意的是ansible要求被管理服务器python版本不低于2.6. OK,简单了写了个脚本,实现服务器端面密钥登陆被管理服务器python脚本,这里省略了ansible,python等的部署以及使用. 环境: python 2.7 ansible 2.4.0 pexpect  (pip installpexpect) 以下是批量分发密钥登陆脚本内容: #!…
上一篇文章,“小程序创业最低配置部署,腾讯云折扣秒杀阿里云!”介绍了小程序项目启动时的最低配置服务器选择,但当项目良好发展时,还是要把服务器配置调整到标准水平,承受住日益增长的流量访问. 随着Python的流行,直接用Python来部署Web服务器变成一个需求.但Python自带的Flask或传统的DJango都是基于阻塞io模型实现,性能上往往达不到生产环境大规模跑用户的需求.Tornado在底层io处理机制上和django以及flask有着根本的区别,采用了非阻塞io模型,也特别适合小程序用…
写在前面:这篇笔记有点长,如果你认真看完,收获会不少,如果你只是忘记了相关命令,请翻到末尾. redis的简单介绍: 一个提供多种数据类类型储存,整个系统都在内存中运行的, 定期通过异步的方式把数据刷到磁盘进行保存的一个内存数据库 因为实在内存中操作数据,所以效率非常高,但受制于物理内存的限制,一般用作处理少量数据的高性能操作: 下面开始玩redis,包括主从架构和3.0后的分片集群: 首先安装依赖: yum -y install cpp binutils glibc glibc-kernhea…
利用binlog日志恢复数据库误操作数据 在人工手动进行一些数据库写操作的时候(比方说数据修改),尤其是一些不可控的批量更新或删除,通常都建议备份后操作.不过不怕万一,就怕一万,有备无患总是好的.在线上或者测试环境误操作导致数据被删除或者更新后,想要恢复,一般有两种方法. 方法一.利用最近的全量备份+增量binlog备份,恢复到误操作之前的状态,但是随着数据量的增大,binlog的增多,恢复起来很费时.方法二.如果binlog的格式为row,那么就可以将binlog解析出来生成反向的原始SQL…
本项目采用主从架构,一主两从一个哨兵.在x.x.x.69上部署主节点,在70上部署从节点1和哨兵节点,在71上部署从节点2. 准备: 1.首先上传redis文件到三台linux上,目录/home/sysadm/redis   本次使用redis-3.2.8版本 2.在根目录/下创建u04目录,在u04下创建redis目录,用于安装redis软件. 在根目录下我们创建u04目录,普通用户没有权限,需要使用root账户. 然后将文件夹归属分配给sysadm账户和对应的账号组. 先su root 再m…
解决问题 我们已经探索了 Python 语言中的许多部分,现在我们将通过设计并编写一款程序来了解如何把这些部分组合到一起.这些程序一定是能做到一些有用的事情.这节的Python教程就是教大家方法去学习如何靠你自己来编写一份 Python 脚本. 问题 我们希望解决的问题如下: 我想要一款程序来备份我所有的重要文件. 虽然这是一个简单的问题,但是其中并没有足够的信息有助于让我们开始规划一份解决方案.我们需要进行一些分析(Analysis).例如,我们应该如何指定哪些文件是我们需要备份的?它们应该如…
通常情况下我们主库的binlog只保留7天,如果从库故障超过7天以上的数据没有同步的话,那么主从架构就会异常,需要重新搭建主从架构. 本文就简单说明下如何通过mysqldump主库的数据恢复从库的主从架构 下面就以我们在线上业务中实际遇到的情况做个简单说明 本文就以以下集群为例: 主库: 192.168.38.249 从库: 192.168.38.230, 192.168.36.175 主从模式: 开启GTID 基于Auto_Position模式复制 状态: 主库正常,从库都延迟过多,报错"Go…
听说有些朋友想在表单里做自定义的界面数据处理,一般来说写个表单插件会很容易解决这类问题.但是鉴于C#插件开发的不便性和实施搭建开发环境的麻烦,在现场做C#开发可能会不太方便(没部署开发环境之类的问题).因此推荐用这个python脚本处理这些需要现场解决的需求.现在分享一种用queryService取业务对象数据的方法. ##引入C#中必须的类 import clr clr.AddReference('Kingdee.BOS.ServiceHelper') from Kingdee.BOS.Ser…
一.celery简介: Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行.我们通常使用它来实现异步任务(async task)和定时任务(crontab). Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成. 可以看到,Celery 主要包含以下几个模块: 任务模块 Task 包含异步任务和定时任务.其中…