Mysql-GTID
概念参考博文《MySQL-5.6版本GTID的主从复制》https://www.cnblogs.com/abobo/p/4242417.html配置参考博文《散尽浮华:Mysql5.6主从同步引用新特性-GTID》https://www.cnblogs.com/kevingrace/p/5569753.html综合参考博文《阿里云:MySQL5.7杀手级新特性:GTID原理与实战》https://yq.aliyun.com/articles/57731
一、GTID复制基础1.什么是GTIDGTID即全局事务ID(global transaction identifier),MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分:
UUID:MySQL实例的唯一标识,UUID保存在mysql数据目录的auto.cnf文件中,这是一个非常重要的文件,不能删除,这一部分是不会变的。
TID:事务ID,代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。
所以GTID能够保证每个MySQL实例事务的执行(不会重复执行同一个事务,并且会补全没有执 ...
ES-shard&replica机制
参考资料参考资料
ES 的填坑经验。主要是关于集群恢复过程中,数据量过大,使用的是普通盘1T,最大的index 大概在50多g ,分片恢复并发数默认是2个,同时2个50g 分片同时恢复,IO吃不消,导致集群 hang 住的问题。
场景描述
线上ES 5台 8核24g 普通盘(事实证明,ES 还是要用ssd,不然数据量在大点就抗不住),通用型云主机。某台主机挂了,开始恢复,CPU会越来越大。最后整个集群卡死。
基本概念ES 线程池(thread pool)
ES 中每个节点有多种线程池,各有用途。重要的有:
generic :通用线程池,后台的 node discovery,上述的分片恢复(node recovery)等等一些通用后台的操作都会用到该线程池。该线程池线程数量默认为配置的处理器数量(processors)* 4,最小128,最大512。index :index/delete 等索引操作会用到该线程池,包括自动创建索引等。默认线程数量为配置的处理器数量,默认队列大小:200.search :查询请求处理线程池。默认线程数量:int((# of avai ...
Windows-KB4512506
参考资料
系统windows 2008 r2 64
现象错误:代码 80092004
补丁KB4512506
在 2019 年 8 月 13日,微软公司披露了两个远程桌面服务中存在的远程代码执行安全漏洞,编号分别为 CVE-2019-1181 和 CVE-2019-1182。相关网址是:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1181
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1182这两个安全漏洞的危害性极大,微软发布了相关的安全补丁,在 Win7 上对应的补丁是 2019 年 8 月的 Windows 7 月度安全质量汇总 KB4512506:
解决
在一个国外的博客上有对该问题的说明及解决办法:https://borncity.com/win/2019/08/14/windows-updates-kb4512506-kb4512486-drops- ...
Ubuntu-safe
提高Ubuntu服务器系统安全原文出处
Ubuntu服务器全新安装后的基本安全设置当你创建一个新的 Ubuntu server 时,有若干个基本配置需要做,这可以提高系统安全性和可用性,为你后续工作打造坚实的基础。
任何暴露主机都是黑客潜在的攻击对象,下面的几个简单的技巧就可以提高系统安装。
保持系统最新,封堵已知漏洞
设置复杂密码
使用最严格的访问控制,不要图方便
使用防火墙
第一步-root登录ssh root@SERVER_IP_ADDRESS
root用户是linux系统中的管理员账户,有非常高的权限。由于它的权限过高,所以不建议是使用root用户操作linux系统。一不小就悲剧了。
第二步-创建新用户用root登录之后我们创建一个新用户,下面命令创建一个demo用户:
# adduser demo
设置一个复杂的密码
第三步-Root 权限现在我们有了一个普通权限的新用户,但是我们有时需要执行管理员权限的任务。为了避免在普通用户和root用户之间来回切换,我们可以赋予普通用户执行root权限任务的权限,也就是在命令前加 sudo。
为了赋予新用户权限,我们需要把 ...
Linux-safe
怎么尽量消除Linux服务器系统安全风险,预防攻击原文链接
一个系统有很多功能,易遭攻击点也很多。原则上讲单一功能的系统比多功能的系统更安全。减少可用攻击点,典型的包括卸载不必要的软件,不必要的登录用户名,关闭或移除不必要的服务。其他的还有给kernel打补丁,重编译kernel,关闭打开的网络接口,安装侵入侦察系统,防火墙,入侵预防系统。
第一步,通过服务器的想要功能来决定安装什么服务。例如,如果要搭建web服务器你应该安装Linux, Apache, MySQL, 和 Perl/ PHP/ Python (LAMP)服务,其他的东西都不要安装,因为安装额外的软件或运行额外的服务创造了不必要的易攻击点。
你需要决定你是否需要图形用户界面。Linux管理员可以通过命令行管理网络和服务,但是一些新手管理员倾向于用GUI,GUI占用了大量系统资源,运行不必要的服务。如果要用,在用完之后可以杀掉GUI进程。
一些通用安全优化步骤:
数据加密通讯
避免用不安全的协议发送明文信息或密码
最小化服务器中不必要的软件
关闭不需要的 SUID 和 SGID 的特 ...
Window-IIS7-backup
为了快速迁移,部署服务器,需要将IIS7配置备份出来,在新的服务器上进行还原。通过appcmd命令来管理备份。
一、在IIS7+上导出所有应用程序池的方法:1%windir%\system32\inetsrv\appcmd list apppool /config /xml > c:\apppools.xml
这个命令会将服务器上全部的应用程序池都导出来,但有些我们是我们不需要的,要将他们删掉.比如:
DefaultAppPoolClassic .Net AppPool 如果在导入时发现同名的应用程序池已经存在,那么导入就会失败.
二、导入应用程序池的方法:1%windir%\system32\inetsrv\appcmd add apppool /in < c:\apppools.xml
这样就可以将全部的应用程序池都导入到另一个服务器中了.
三、导出全部站点的方法:1%windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml
同样,我们需要编辑sites. ...
Win2008 R2实现多用户远程连接
有的时候我们远程希望能多个人同时进行操作,在系统默认的情况下是不能了。
所以我们要进行下设置。具体操作如下:
一、安装远程桌面服务;cmd 运行
1appwiz.cpl
添加功能
等待安装完成
二、在远程桌面会话主机配置中将”限制每个用户只能进行一个会话”的勾去掉。
三、确认自己的计算机开启了远程连接
四、限制连接数量cmd 运行
gpedit.msc,
-- 本地计算机 策略
计算机配置\管理模板\Windows 组件\远程桌面服务\远程桌面会话主机\连接
限制连接数量中进行配置;
五、记得更新一下策略,使设置尽快生效。1gpupdte /force
Svn-hook
在做版本更新的时候,需要SVN做一些自动化的事情,比如提交前自动更新;提交一些文件后关联着提交另一些。所以需要写一点自动化脚本。.
1.什么是svn钩子官方说法:钩子是通过版本库事件触发,例如新版本的创建或一个未版本化属性的修改。一些钩子(叫做“pre hooks”)在事件发生前运行,可以用来报告发生了什么以及防止它发生。还有一些钩子(“post hooks”)在版本库事件之后发生,只是用来报告。每个钩子能够获得事件的足够信息,例如提出的(或完成的)版本库修改细节,还有触发事件的用户名。
svn钩子分为:服务器钩子和客户端钩子。
svn服务器钩子:
经常提到的svn hooks是一组“外挂”脚本程序,是svn提供的一组由svn事件触发的特别有用的程序。这些程序在服务器端执行,可以提供svn之外的一些附加功能。钩子可以调用批处理文件、可执行文件或者一些类似于perl、python等的脚本。
svn客户端钩子:
如果使用tortoise svn(海龟svn,常用的svn客户端),它也提供钩子机制,这些和svn hooks有本质区别,它是在本地(客户端)执行的。
2.svn服务端 ...
Svn-submin
参考文档《Submin 部署SVN服务器WEB管理端 CentOS7》http://blog.51cto.com/990487026/1974106官方网站:https://github.com/mjholtkamp/submin
一、submin介绍1.介绍submin - 类似于svnmanager的svn用户与仓库管理的web管理平台,用python2开发的,比svnmanager轻量,部署非常容易,环境只需要python2+apache即可。数据库用sqlit3存储。
2.关于svn从备份
备份可以参考rsync svn主从备份,即备份物理数据目录:/data/svn,/etc/apache/conf.d,/data/wwwroot/svn.test.com/submin
/data/wwwroot/svn.test.com/submin/conf/submin.db,这个是sqlit3的数据库备份文件,很重要,要备份。
...
Svn-slave
服务器信息
角色
IP
svn主
192.168.99.207
svn备
192.168.99.208
一、部署思路
经过测试,将svn主的数据目录整个通过rsync物理的方式推到svn备上,svn备通过http的方式是可以正常使用svn的。
所以本实例是以rsync的方式做的svn主从备份。
1.基础环境
svn主/备:svn1.8 + apache2.4 + php5.4 + mysql5.7 + svnmanager1.10
2. MySQL
svn数据库主/备:主从复制,主要是用于svnmanager记录相关用户及仓库信息。
svn从数据库:配置Read_only主要是防止svn从上误登陆往svn从的svnmanager写入数据,造成主从数据不一致。
复制结构:GTID复制
3.实时同步
实时同步主要涉及3个路径:/data/svn/,/data/wwwroot/svn.test.com/,/etc/httpd/conf.d/
同步我这边测试环境用的是rsync + crontab,也可以换成sersync或者rsync + ...