聚合文章列表
14 浏览

Centos下搭建MariaDB集群

最近公司测试库改建,之前测试库上面装的是老的MySql,我顺手就把它换成了MariaDB,后来因为连的人太多就爆了TooManyConnections,本来很简单的事情,就让技术部一小伙子上去把连接数调大了一点,很简单,但是后来我发现他居然直接写在了My.cnf下面,显然他是不知道MariaDB早就从My.cnf下面扩展到了my.cnf.d文件夹下面,于是就跟他一番讲解,然后就引出了配置集群的话题,所以觉得有必要写一下MariaDB的一些配置和集群的配置方法。MariaDB本身就是MySql的一个分支,所以很多东西都是MySql延展下来的,既然要说的话就先从安装说起吧,在CentOS下安装还是很简单的,官网有很明确的说明以及各种安装方法,我个人比较喜欢yum源的安装方法,下面我们开始。第一步、安装MariaDB我们以最小集群来说,两台服务器先做主从配置,然后再做互为主从的配置,两台主机的IP分别为:192.168.70.135,192.168.70.137。先去官网上复制一下源的配置:https://downloads.mar

MySQL 2017-12-15 发布
21 浏览

MySQL 传统复制中常见故障处理和结构优化案例分析

摘要:虽然MySQL5.7的主从复制已经很稳定了,但在备库可读写的情况下,总是会出现部分数据不一致的情况,例如常见的1062、1032和1050错误。下面就介绍下这类报错的常见处理方法和常见主从复制结构的调整。虽然MySQL5.7的主从复制已经很稳定了,但在备库可读写的情况下,总是会出现部分数据不一致的情况,例如常见的1062、1032和1050错误。下面就介绍下这类报错的常见处理方法和常见主从复制结构的调整。环境描述1、mysql5.7以上,2、binlogformat是row格式(5.7默认)3、传统复制(生产强烈推荐使用gtid)4、log-bin,log_slave_updates开启5、复制结构:101:3306>103:3306>104:3306常见主从复制报错1、表重复错误:1050从库已经有T2表,再在主库上创建T2.处理原则:以主库为准,在从库上dropt2。然后重启slave。注意:在db里的操作都会记录到binlog中,如果不想被记录到binlog中,可以先setsql

MySQL 2017-12-15 发布
18 浏览

CentOS下搭建Zipkin并以MySQL的方式存储数据

Zipkin以MySQL的方式存储(CentOS+Java8+MySQL+Zipkin2.3.1)。前言:这篇教程用于搭建已mysql作为存储的zipkin。(还不知道zipkin是什么的小伙伴请略过,zipkin学习传送门http://www.linuxidc.com/Linux/2017-12/149460.htm)。其实zipkin以mysql的方式存储很简单,但是网上资料太少,能看到的几篇文章几乎都是在springboot的基础上搭建的。这篇教程是以官网提供的jar包为基础,直接在linux环境启动,并保存数据到mysql。1.下载zipkinjar包用wget下载zipkin官方最新jar包(注意:zipkin需要java8,请事先确保环境为java8环境)wget-Ozipkin.jar'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec'下载后,会得到一个jar包文件zipk

MySQL 2017-12-15 发布
AD 友情赞助
14 浏览

linux下的数据库管理工具phpmyadmin安装以及文件大小限制的配置修改

1.首先需要安装mysql和apache服务.具体安装过程百度;2.安装php环境以及对apache的扩展;sudoaptinstallphp7.0对于这些软件可能还需要各自进行配置,这里就不再细述了。启用PHP支持然后安装apache的php扩展:sudoaptinstalllibapache2-mod-php7.0安装完成之后需要重启apache:sudosystemctlrestartapache2然后在apache的默认目录中新建一个PHP文件:sudonano/var/www/html/info.php文件内容如下:然后在浏览器中查看一下是否成功:info启用PHP扩展安装所需的PHP扩展,也可以全部安装,全部安装可能会降低性能:sudoapt-yinstallphp7.0-mysqlphp7.0-curlphp7.0-gdphp7.0-intlphp-pearphp-imagickphp7.0-imapphp7

MySQL 2017-12-15 发布
19 浏览

演讲实录:MySQL 8.0 中的复制技术

02MySQL复制技术的简单框架首先在复制环境中,有两个server,在第一个server中产生binarylog,通常将这一个server成为master,另外一台server会将master上的binarylog复制过去,然后通过日志的应用,产生和master一样的数据库,这就是复制的基本理论。其基本流程如下:当应用在master数据库上执行SQL语句,这些操作会被数据库捕捉并以event的形式写到binarylog里面,并以文件的形式存储。通过通讯模块,这些event会被发送到swill上,swill上的接收线程,接收到这些event,然后存储到Redolog,接着由读取线程,读取这些event,并行地在复制数据库中执行,这样就产生和master一样的数据库。binarylog是MySQL复制的基础,MySQL的这些日志称为逻辑日志,里面记录的是SQL语句级别的,操作的是表中的行数据,它不关心数据在引擎里面是怎么存储的,存储格式是什么样的。binarylog有两种模式一种是ROWforma

MySQL 2017-12-15 发布
16 浏览

【腾讯云CDB】如何快速删除InnoDB中的大表

1.背景在使用MySQL时,如果有大表的存储引擎是InnoDB,并且系统参数innodb_file_per_table设置为1,即每个文件对应一个独立的表空间,当对这些大表进行DROPTABLE时,有时会发现整个数据库系统的性能会有显著下降,包括一些只涉及几行数据的简单SELECT查询和DML语句,而且这些语句和正在删除的大表没有关系。造成这种现象的原因是什么呢?通过什么方式能缓解和避免这个问题呢?2.已知的瓶颈Percona曾经在MySQL官方5.5.23之前的版本中遇到过这个问题,并且提供了一种叫PerconaLazyDrop的补丁。简单来说,他们认为这个问题的瓶颈在CPU。在删除一个有独立表空间的大表时,需要对bufferpool中所有和这个表空间有关的数据页做清理工作,包括从AHI,flushlist和LRUlist上移除,而在这个清理过程中,会一直持有bufferpool的mutex。如果bufferpool配置特别大,比如500GB大小,持有这个mutex的事件会较长,导致其他连接被阻塞住,从而导致系统性能的

MySQL 2017-12-15 发布
AD 友情赞助
16 浏览

浅谈mysql执行计划之type

mysql执行计划作为分析一条sql的执行效率的工具十分有效,通过explain关键字便可查看select语句的具体执行计划,分析其是否按我们设计的执行,是否使用了索引,是否全表扫描等等。不过有很多开发同学对explain返回的执行计划不是非常了解,这里我通过一些简单的例子,为大家做个入门,希望能够抛砖引玉,让大家在日常开发中看懂explain的执行计划,并且优化sql。首先要明确的一点是,explain只能解释select语句,所以不要试图执行explainupdate之类的语句。在对一条select进行explain之后,我们会看到返回结果中有如下几个字段:

MySQL 2017-12-19 发布
13 浏览

大白话Vue源码系列(01):万事开头难

阅读目录Vue的源码目录结构预备知识先捡软的捏Angular是Google亲儿子,React是Facebook小正太,那咱为啥偏偏选择了Vue下手,一句话,Vue是咱见过的最对脾气的MVVM框架。之前也使用过knockout,angular,react这些框架,但都没有让咱产生follow的冲动。直到见到Vue,简直是一见钟情啊。Vue的官方文档已经对Vue如何使用提供了最好的教程,建议Vue新手直接去官网学习,而不要在网上找些质量参差不齐的文档去看,以免误人子弟。中文版和英文版文档写的都很地道,毕竟是国产,中文文档真心赞。不夸张地说,中文文档咱已经看了不下5遍了,每次都有收获,第一遍看的很慢,边看边做,之后就非常快了,主要都是扫读。英文的咱也不是看不了,只是速度问题,没必要较这个劲。值得一提的是,Vue每次版本更新官方文档迅速都会跟进到最新,所以说Vue的官方文档是学习Vue的不二之选。本系列的目的不是介绍如何使用Vue,而是希望把Vue的源码实现思路简单清晰地描绘出来,

Vue.js 2017-12-15 发布
23 浏览

认识Vue组件

Vue.js是一套构建用户界面的渐进式框架(官方说明)。通俗点来说,Vue.js是一个轻量级的,易上手易使用的,便捷,灵活性强的前端MVVM框架。简洁的API,良好健全的中文文档,使开发者能够较容易的上手Vue框架。本系列文章将结合个人在使用Vue中的一些经(cai)验(keng)和一些案例,对Vue框架掌握的部分知识进行输出,同时也巩固对Vue框架的理解。认识组件组件是Vue强大的功能之一。Vue组件具有封装可复用的特点,能够让你在复杂的应用中拆分成独立模块使用。注意,所有的Vue组件同时也都是Vue的实例,可接受相同的选项对象。Vue组件的注册我们可以通过全局注册和局部注册的方式来注册一个Vue组件,两种方式的区别在于,全局注册的组件能够在任何地方使用,其实就是所有的Vue实例化的时候都会去渲染这个全局组件;而局部组件只是注册在某一个Vue实例化对象上,只能在这个Vue实例化的时候会渲染,其他地方使用会被当成普通的Html标签渲染。我们就先来了解下全局组件的注册。Vue组件全局注册时通过Vue.

Vue.js 2017-12-15 发布
AD 友情赞助
12 浏览

Vue原理以及简单实现

在vue原理中,最重要的部分就是如何实现数据的观测,依赖的收集,视图的更新。本文讲的就是Observer,Dep,Watcher这三个的简单实现。pub(publish)表示发布者,sub(subscribe)表示订阅者,cb(callback)表示回调函数如果你觉得这篇讲的对你有所帮助,请帮我点个starobserver的实现Observer的作用简单来说就是让object对象的属性都用Object.defineProperty()来进行定义,这样当获取object的属性,或者修改属性的时候,就能够触发get,set达到数据的观测的效果。classObserver{constructor(value){this.value=valuethis.walk(this.value)}walk(value){//递归遍历value的属性Object.keys(value).forEach((key)=>{defineReactive(value,key,value[key])})}}function

Vue.js 2017-12-15 发布
16 浏览

Vue项目SSR改造实战

我们先看“疗效”,你可以打开我的博客u3xyz.com,通过查看源代码来看SSR直出效果。我的博客已经快上线一年了,但不吹不黑,访问量非常地小,我也一直在想办法提升访问量(包括在sf写文章,哈哈)。当然,在PC端,搜索引擎一直都是一个重要的流量来源。这里就不得不提到SEO。下图是我的博客以前在百度的快照:细心的朋友会发现,这个快照非常简单,简单到几乎什么都没有。这也是没办法的事,博客是基于Vue的SPA页面,整个项目本来就是一个“空架子”,这个快照从博客2月份上线以来就一直是上面的样子,直到最近上线SSR。搜索引擎蜘蛛每次来抓取你的网站都是一个样子,慢慢得,它也就不会来了,相应的,网站的权重,排名肯定不会好。到目前为此,我的博客不用网址进行搜索都搜不到。在上线了SSR后,再加上一些SEO优化,百度快照终于更新了:为什么要做SSR文章开始基本已经回答了为什么要做SSR这个问题,当然,还有另一个原因是SSR概念现在在前端非常火,无奈在实际项目中没有机会,也只有拿博客来练手了。下面将详细介绍本博客项目SSR全过程。SSR

Vue.js 2017-12-15 发布
18 浏览

2017年度回顾:Angular 框架今年有啥大新闻

在2017年即将结束时,让我们一起回头看看过去十二个月里的Angular:今年都发生了些什么?我们最喜欢的框架是什么?Angular在今年表现的大有来头。但也并不是一帆风顺的,但是对于这个框架来说,今年的发展趋势都是相当积极的。一月虽然它确实做出了两个2017年的技术趋势名单,这个月里关于Angular的消息不多。二月JHipster4的最新版本终于支持了AngularJS和Angular2,这算是二月的一个大事件。另外,虽然AngularCLI还处于测试阶段,但并没有影响YakovFain创建了一个有用的教程,来介绍如何创建、捆绑和部署一个简单的项目。三月这个月,终于发布了令人期待已久的Angular4。经过一段时间以后,Angular4首次推出了一个跳号(没有Angular3!)和一个革命性的新框架,它也是向后兼容的。引擎盖下的改变,意味着Angular应用程序会更小更快。在其他新闻中,KarstenSitterberg解释了如何在Docker容器中创建AngularCLI应用程序;TimWebb解释了为什

Angular 2017-12-15 发布
AD 友情赞助
18 浏览

使用Electron构建React+Webpack桌面应用

前言Electron可以使用HTML、CSS、JavaScript构建跨平台桌面应用,可是在使用到React和Webpack时,会遇到一些配置问题,本文将针对React+Webpack下的Electron配置提供一个通用的解决方案。环境配置"babel-core":"^6.26.0","babel-loader":"^7.1.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","css-loader":"^0.28.7","electron":"^1.7.9","electron-packager":"^10.1.0","extract-text-webpack-plugin":"^3.0.2","node-sass":"^4.7.2","r

JavaScript 2017-02-25 发布
20 浏览

CSS Grid网格布局属性总结及网格布局资料推荐

之前写flex布局基础知识整理提到了网格布局,也大概说了下它与flex布局的区别。flex只是一维布局(沿横向或纵向),而CSSGridLayout属于二维布局(同时沿横向和纵向);也就是说如果我们只想单独控制行或者列时,我们可以考虑使用flex布局,如果我们想要同时同时行和列时,我们可以考虑使用网格布局。还有一种方法来决定我们是使用弹性盒还是网格布局就是:弹性盒布局是从内容出发的,而网格布局是从布局出发的。具备二维布局功能的CSSGrid网格布局可以很轻松的实现各种布局,且其兼容性越来越好。相信到后面它会越来越流行。一、CSSGrid网格布局属性总结最近抽空,将CSSGrid布局完全指南(图解Grid详细教程)文章(它将CSSGrid网格布局所有属性都列出来了,并且都有详细说明和举例)仔细读了一遍并做了个提炼,制作了思维导图。下图中(PC端需要点击图片放大后点击查看原图再点击放大才可以看清),举例部分我隐藏了,建议点击这里下载思维导图文件查看。CSS网格属性总结--收缩例子版.png二、新名词解释1、fr这

CSS 2017-12-19 发布
21 浏览

PHP中array_merge函数与array+array的区别

在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别.区别如下:1、当下标为数值时,array_merge()不会覆盖掉原来的值,但array+array合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖).2、当下标为字符时,array+array仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值.例子1:代码:$arr1=['PHP','apache'];$arr2=['PHP','MySQl','HTML','CSS'];$mergeArr=array_merge($arr1,$arr2);$plusArr=$arr1+$arr2;var_dump($mergeArr);var_dump($plusArr);结果$merg

CSS 2017-12-15 发布
16 浏览

WebSocket详解(六):刨根问底WebSocket与Socket的关系

1、前言对于很多初次接触Web端即时通讯技术的人来说,WebSocket是个很新的概念,但无疑它是当前Web端即时通讯技术中最热门的关键词。随便点开一篇文章,只要说打算开发Web端即时通讯相关的的应用,老司机们推荐的无一例外都是WebSocket。那么好了,我知道应该用WebSocket,但本着知其然知其所以然的码农习惯,我还是需要了解下面这些问题:1)Socket和WebSocket有哪些区别和联系?2)WebSocket和HTML5是什么关系?3)必须在浏览器中才能使用WebSocket吗?4)WebSocket能和Socket一样传输raw数据么?5)WebSocket和Socket相比会多耗费流量么?但是,目前网上全面介绍这两种协议的中文文章并不多,或者说不够全面。我无法找到一篇文章能解决上面的所有问题。因此,我写了本文,把找到的Socket和WebSocket的相关资料做一个梳理,以方便理解。本文并不能直接完整回答上面提出的几个问题,但读完本文,要理解上面的那些问题

HTML5 2017-12-19 发布
30 浏览

.NET版支付宝商户会员卡接入

最近公司计划对接支付宝会员卡功能,而任务恰巧由领导安排给我这边,小弟之前也未做过支付宝接口,研究了三天,终于将支付宝会员卡API接口大体上调通了,现将其整理下,以供参考。蚂蚁金服开发平台-商户会员卡文档地址:https://docs.open.alipay.com/251支付宝会员卡接口我大体上分为四块:1、会员卡模板管理:包括会员卡模板创建,会员卡模板查询,会员卡模板修改2、会员卡开卡模块:会员卡开卡表单模板配置,获取会员卡领卡投放链接,查询用户提交的开卡表单数据信息,会员卡的增删改查(会员卡开卡接口,会员卡查询接口,会员卡更新,会员卡删除)3、会员卡消费记录同步4、会员卡依赖的接口:图片资料上传接口,用户信息授权接口调用接口直接使用支付宝提供的SDK,下来来针对这四块分别说明。会员卡模板管理这块儿需要注意的点是:卡模板的栏位信息中的自定义栏位的展现形式如果是openWeb,必须要填写more_info字段的信息,主要是url的信息需要填写。这儿打开二级页面的展现方式我这边没用到,就没写,有兴趣的

.Net 2017-12-15 发布
16 浏览

2017医疗健康行业年度报告:独创VB象限模型解构8大细分领域,用数据管窥医疗

动脉网·蛋壳研究院2017年度报告《用数据管窥医疗——2017年医疗健康行业竞争力报告》,于12月15日在未来医疗100强论坛正式发布。2011年-2016年,互联网医疗已经走过了新兴行业的几个重要成长节点,既有2011年春雨医生刚刚推出移动问诊服务时的颠覆性创新,也有2014年资本热潮时候的行业大爆发,还有2015年-2016年期间因为流量红利结束导致的产业和资本低潮。2017年行将结束,动脉网蛋壳研究院从医疗产业创新领域入手,通过分析企业的运营数据、投融资数据,创新设立了一套象限模型对这些领域的企业运营状况进行展示,梳理出行业的竞争现状。有了这套模型,我们可以更方便地观察一个细分领域中的企业运营现状,使得我们的研究成果更容易被理解。在本报告中,蛋壳研究院解读模型的同时,还从生产力、生产关系和生产要素的角度,梳理了医疗领域这一年的变化和发展。我们认为,经过5年的起伏和调整,医疗产业创新在2017年开始,逐步进入理性发展阶段,主要有以下几个方面的表现:1.生产力的提升:新技术正在形成新的生产力,大数据带来了医院管理流程的优

.Net 2017-12-15 发布
18 浏览

基于iTextSharp的PDF文档操作

基于iTextSharp的PDF文档操作公司是跨境电商,需要和各种物流打交道,需要把东西交给物流,让他们发到世界各地。其中需要物流公司提供一个运单号,来追踪货物到达哪里?!最近在和DHL物流公司(应该是个大公司)对接,取运单号的方式是调用对方提供的API,简单说,就是我们传一些发货地址和客户信息,要发的货物等,对方返回一个运单号和物流面单(就是我们淘宝快递上的面单)。过程呢,还是比较顺利的,经过一系列沟通,最终还是实现了功能下面还是说说没有实现的功能,如果都实现了,也不用写这篇博客了。不足之处在于DHL提供的面单,没有提供要拣哪些货的面单。本来一个完整的面单,包括2部分:物流公司需要贴在包裹上的面单(物流面单)和我们自己发货部门要发哪些东西的面单(拣货面单),两部分组合在一起,发货部门才能正常的完成这个包裹的发货好吧,终于要引入正题了,DHL公司将物流面单以pdf文件流的形式返回,就是我们可以保存成Pdf文件,这样就容易处理的多,我们自己的拣货面单,如果也可以保存至Pdf文件,这样就可以将这2个Pdf文件一块打印出来,这算是一个折中的

.Net 2017-12-15 发布
17 浏览

MQTT协议简介及百度云物接入loT-MQTT测试

前几天写了一下MQTT协议实现推送数据传输,所以我会不定期的更新一下关注MQTT的知识。MQTT:MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器(比如通过Twitter让房屋联网)的通信协议。MQTT特点MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:1.使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;2.对负载内容屏蔽的消息传输;3.使用TCP/IP提供网络连接;4.有三种消息发布服务质量:“至多一次”,消息发布完全依赖底层TCP/IP网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。“至少一次”,确保消息到达,但消息重复可能会发生。“只有一次”,确

消息系统 2017-12-15 发布
AD 友情赞助