log

数据库集群 MySQL主从复制

纵饮孤独 提交于 2020-03-25 11:42:58
MySQL主从复制 本节内容我们联系使用 MySQL的主从复制功能配置Master和Slave节点,验证数据MySQL的数据同步功能。 因为要使用多个 MySQL数据库,所以不建议在电脑上安装多个MySQL数据库,最好的办法是使用多个绿色版的MySQL数据库。 MariaDB数据库是MySQL创始人Michael 创建的 MySQL重要分支。由于Oracle 持有了 MySQL的版权,MySQL存在闭源的隐患,加之Oracle对MySQL的更新不太重视,所以业界许多公司纷纷采用了完全开源的MariaDB数据库。MariaDB建立在MySQL5.5版本上,所以MariaDB与MySQL的兼容性非常好,并且性能上也做出了很大的优化,社区活跃,软件版本更新迅速,包括谷歌、Facebook等企业纷纷改用MariaDB数据库。 Master数据库 首先把安装到C:\Program Files 里面的 MariaDB目录复制一份,放置的路径没有要求,但是尽量把数据库放在C盘或者D盘上面,改名DB1。因为这两个盘符的空间处在硬盘磁碟的外圈,所以线速度很快,数据读写速度也很理想。 DB1将要当做主库使用,创建my.ini文件,然后编辑文件内容。 [mysqld] # 数据库字符集 character_set_server = utf8 #MySQL 主机名 ( 只可以是数字 ) server_id

事件冒泡与事件捕获及事件委托

喜欢而已 提交于 2020-03-24 17:35:28
事件冒泡通俗讲以整个文档体doucment参照就是从里到外(可以自行脑补一下水里冒泡现象) 说到事件冒泡就不得不提一下dom0级事件与dom2及事件 dom0级事件会覆盖,如下控制台只会输出结果 2: var oDiv=document.getElementById('div');   oDiv.onclick=function(){ console.log(1) } oDiv.onclick=function(){ console.log(2) } dom0级事件只有事件冒泡,没有事件捕获 dom2级事件不会覆盖,如控制台只会输出结果 1,2: var oDiv=document.getElementById('div'); oDiv.addEventListener('click',function(){ console.log(1)   },true)    oDiv.addEventListener('click',function(){ console.log(2)   },true) dom2级事件涉及到事件捕获,第三个参数布尔值如果为false,就是事件冒泡,否则就是事件捕获 冒泡var body=document.getElementsByTagName('body')[0]; window.addEventListener('click',function(){

Nodejs线上日志部署

丶灬走出姿态 提交于 2020-03-24 11:58:27
Nodejs 被越来越多的使用到线上系统中,但线上系统没有日志怎么行呢。 一、forever记录日志 我的线上系统使用forever来启动服务,最开始就直接使用了forever来记录 forever start -a -l ./logs/forever.log   -a 表示追加日志文件 -l 指定日志文件   -s 忽略console.log输出的日志记录(使用log4j时要用这个) 最开始还挺好的,所有日志都能记录下来,但是既然是线上环境,日志比较多,跑着跑着就出问题了。 forever.log文件变得越来越大,在我的系统里直接占了3GB的内存,而且全在内存里面,然后服务器就报警了。 然后尝试对forever.log文件进行切割,结果这SB玩意更本没法切割,具体问题: 1.对forever.log 重命名 forever.log.bak 然后新建forever.log,结果日志仍然往forever.log.bak里写,内存一点也没减少 2.直接删除forever.log ,forever不会新建forever.log,占用的内存也一直不释放 似乎是forever一直使用着文件句柄根本不释放就往里面写,根本没法做日志切割。 二、log4j记录日志 log4j是nodejs的一个log日志包,具体使用方法就不说了,只说怎么配置和分割日志 1 { 2 "appenders": [ 3

ANE打包

你离开我真会死。 提交于 2020-03-24 01:49:57
哈哈,曾经梦寐以求的ANE终于弄成功了一个。说实话,学java和Android就是为了写ANE!好啦,今天把我体会到的记录一下: 网上其实打包ANE的教程好多,我也找了好多好多。但是好多我自己试了还是没有弄成功,可能是我智商有问题。 我使用的工具: Eclipse-ADT flashBuilder flash cs6 flex中创建项目: As源码: package randy.util.log { import flash.external.ExtensionContext; public class LogUtil { private static var _extensionContext:ExtensionContext=null; private static const EXTENSION_ID:String="randyUtilLog"; private static const LOG_FUNCTION:String="fn_log"; public static const DEBUG:String="debug"; public static const VERBOSE:String="verbose"; public static const INFO:String="info"; public static const WARN:String="warn";

Robot Framework ---Selenium API

旧街凉风 提交于 2020-03-23 20:50:30
一、浏览器驱动 通过不同的浏览器执行脚本。 Open Browser Htpp://www.xxx.com chrome 浏览器对应的关键字: firefox FireFox ff internetexplorer Internet Explorer ie googlechrome Google Chrome gc chrome opera Opera phantomjs PhantomJS htmlunit HTMLUnit htmlunitwithjs HTMLUnit with Javascipt support android Android iphone Iphone safari Safari 备注: 要想通过不同的浏览打开URL地址,一定要安装浏览器相对应的驱动。如chrome 的驱动: chromedriver.exe 等。 浏览器默认为空时启动FireFox。 二、关闭浏览器 关闭浏览器 Close Browser 关闭当前的浏览器。 关闭所有浏览器 Close All Browsers 关闭所有打开的浏览器和浏览器缓存重置。 三、浏览器最大化 Maximize Browser Window 使当前打开的浏览器全屏。 四、设置浏览器宽、高 Get Window Size 800 600 以像素为单位,第一个参数800表示宽度,第二个参数600表示高度。 五

Docker搭建私有仓库管理系统Harbor

陌路散爱 提交于 2020-03-23 18:20:42
转载声明 本文作者: Clay 发布时间: 2019-01-27 22:49:20 本文链接: https://www.techgrow.cn/posts/99d575a6.html 相关站点 Harbor 官网 Harbor Docs Harbor Github Harbor Releases Harbor介绍 Harbor是VMware公司开源的一个用于存储和分发Docker镜像的企业级Registry服务器,以Docker开源的Registry为基础,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全,提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中,确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。 Harbor特性 基于角色的访问控制(Role Based Access Control) 基于策略的镜像复制(Policy based image replication) 镜像的漏洞扫描(Vulnerability Scanning) AD/LDAP集成(LDAP/AD

为什么数据库读写分离可以提高性能

我与影子孤独终老i 提交于 2020-03-23 17:59:32
3 月,跳不动了?>>> 虽然知道处理大数据量时,数据库要做读写分离,但是为什么读写分离可以提高性能呢? 下面是搜来的一些解释,看看再说! 一 什么是读写分离 MySQL Proxy最强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中 的从数据库。 当然,主服务器也可以提供查询服务。使用读写分离最大的作用无非是环境服务器压力。可以看下这张图: 二 读写分离的好处 1.增加冗余 2.增加了机器的处理能力 3.对于读操作为主的应用,使用读写分离是最好的场景,因为可以确保写的服务器压力更小,而读又可以接受点时间上的延迟。 三 读写分离提高性能之原因 1.物理服务器增加,负荷增加 2.主从只负责各自的写和读,极大程度的缓解X锁和S锁争用 3.从库可配置myisam引擎,提升查询性能以及节约系统开销 4.从库同步主库的数据和主库直接写还是有区别的,通过主库发送来的binlog恢复数据,但是,最重要区别在于主库向从库发送binlog是异步的,从库恢复数据也是异步的 5.读写分离适用与读远大于写的场景,如果只有一台服务器,当select很多时,update和delete会被这些select访问中的数据堵塞,等待select结束,并发性能不高。

如果有一个特别大的访问量到数据库上,怎么做优化?主从复制、读写分离

余生颓废 提交于 2020-03-23 17:07:34
第一个就是使用优化查询的方法。这个在前期的内容中有具体说明,这里不再做说明。 第二、这里简要说明一个以下几个方法:    主从复制、读写分离、负载均衡    目前,大部分的主流关系型数据库都提供了主从复制的功能,通过配置两台(或多台)数据库的主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。网站可以利用数据库的这一功能, 实现数据库的读写分离,从而改善数据库的负载压力。 一个系统的读操作远远多于其写操作,因此写操作发向master,读操作发向slaves进行操作(简单的轮循算法来决定使用哪个slave)。   利用数据库的读写分离,web服务器在写数据的时候,访问著数据库(Master),主数据库通过主从复制机制将数据更新同步到从数据库(Slave),这样web服务器读数据的时候,就可以通过从数据库获得数据。这一方案使得在大量读操作的web应用可以轻松地读取数据,而主数据库也只会承受少量的写入操作,还可以实现数据热备份,可谓是一举两得的方案。 1.复制的基本原则    MySQL复制是异步的且串行化的;   每个Slave只有一个Master;   每个Slave只有一个唯一的服务器ID;   每个Master可以有多个Slave; 2.一主一从常见配置:   MySQL版本一致且后台以服务运行;   主从都配置在[mysqld]结点下,都是小写,主机修改my

T(n)=2T(n/2)+n=o(nlogn)

纵然是瞬间 提交于 2020-03-23 14:08:16
T(n)=2T(n/2)+n 设n=2^k T(n/2)=2T(n/2^2)+n/2 T(n/2^2)=2T(n/2^3)+n/2^2 T(n)=2T(n/2)+n=2^2T(n/2^2)+2*n/2+n=2^3T(n/2^3)+2^2*n/2^2+2*n/2+n =2^kT(1)+kn=nT(1)+kn=n(logn+T(1))=o(nlogn) 注:T(1)=0 快速排序的最优时间复杂度是 O ( n l o g n ) O(nlogn),最差时间复杂度是 O ( n 2 ) O(n2),期望时间复杂度是 O ( n l o g n ) O(nlogn)。 这里我们证明一下快排的期望时间复杂度。 设 T ( n ) T(n) 为对长度为 n n 的序列进行快速排序所需要的期望时间。我们有: <script type="text/javascript" src="http://common.cnblogs.com/script/ASCIIMathML.js"></script> T ( 0 ) = 0 T(0)=0 以及: T ( n ) = n + 1 n ∑ i = 0 n − 1 ( T ( i ) + T ( n − i − 1 ) ) T(n)=n+1n∑i=0n−1(T(i)+T(n−i−1)) 我们可以通过放缩来获得对 T ( n ) T(n) 上界的一个估计。 T

Mysql 数据库几种引擎的区别比较

China☆狼群 提交于 2020-03-23 12:46:42
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySql的核心就是存储引擎。 存储引擎查看 MySQL给开发者提供了查询存储引擎的功能,我这里使用的是MySQL5.1,可以使用: SHOW ENGINES 命令来查看MySQL使用的引擎,命令的输出为(我用的Navicat Premium): 看到MySQL给用户提供了这么多存储引擎,包括处理事务安全表的引擎和出来了非事物安全表的引擎。 如果要想查看数据库默认使用哪个引擎,可以通过使用命令: SHOW VARIABLES LIKE 'storage_engine'; 来查看,查询结果为: 在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。Support列的值表示某种引擎是否能使用:YES表示可以使用、NO表示不能使用、DEFAULT表示该引擎为当前默认的存储引擎 。下面来看一下其中几种常用的引擎。 ========================以上是转载的http://blog.csdn.net/zhangyuan19880606/article/details