Mysql Binlog三种格式介绍及分析

一.Mysql Binlog格式介绍       Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在binlog中。 优点:不需要记录每一行的变化,减少了binlog日志量,节约了IO,提高性能。(相比row能节约多少性能与日志量,这个取决于应用的SQL情况,正常同一条记录修改或者插入row格式所产生的日志量还小于Statement产生的日志量,但是考虑到如果带条件的update操作,以及整表删除,alter表等操作,ROW格式会产生大量日志,因此在考虑是否使用ROW格式日志时应该跟据应用的实际情况,其所产生的日志量会增加多少,以及带来的IO性能问题。) 缺点:由于记录的只是执行语句,为了这些语句能在slave上正确运行,因此还必须记录每条语句在执行的时候的一些相关信息,以保证所有语句能在slave得到和在master端执行时候相同 的结果。另外mysql 的复制,像一些特定函数功能,slave可与master上要保持一致会有很多相关问题(如sleep()函数, last_insert_id(),以及user-defined functions(udf)会出现问题). 使用以下函数的语句也无法被复制: * LOAD_FILE() * UUID() * USER() * FOUND_ROWS() * SYSDATE() (除非启动时启用了 --sysdate-is-now 选项) 同时在INSERT …SELECT 会产生比 RBR 更多的行级锁 2.Row:不记录sql语句上下文相关信息,仅保存哪条记录被修改。 优点: binlog中可以不记录执行的sql语句的上下文相关的信息,仅需要记录那一条记录被修改成什么了。所以rowlevel的日志内容会非常清楚的记录下每一行数据修改的细节。而且不会出现某些特定情况下的存储过程,或function,以及trigger的调用和触发无法被正确复制的问题 缺点:所有的执行的语句当记录到日志中的时候,都将以每行记录的修改来记录,这样可能会产生大量的日志内容,比如一条update语句,修改多条记录,则binlog中每一条修改都会有记录,这样造成binlog日志量会很大,特别是当执行alter table之类的语句的时候,由于表结构修改,每条记录都发生改变,那么该表每一条记录都会记录到日志中。 3.Mixedlevel: 是以上两种level的混合使用,一般的语句修改使用statment格式保存binlog,如一些函数,statement无法完成主从复制的操作,则采用row格式保存binlog,MySQL会根据执行的每一条具体的sql语句来区分对待记录的日志形式,也就是在Statement和Row之间选择一种.新版本的MySQL中队row level模式也被做了优化,并不是所有的修改都会以row level来记录,像遇到表结构变更的时候就会以statement模式来记录。至于update或者delete等修改数据的语句,还是会记录所有行的变更。   二.Binlog基本配制与格式设定 1.基本配制 Mysql BInlog日志格式可以通过mysql的my.cnf文件的属性binlog_format指定。如以下: binlog_format           = MIXED                 //binlog日志格式 log_bin                  =目录/mysql-bin.log    //binlog日志名 expire_logs_days    = 7                //binlog过期清理时间 max_binlog_size    100m                    //binlog每个日志文件大小 2.Binlog日志格式选择 Mysql默认是使用Statement日志格式,推荐使用MIXED. 由于一些特殊使用,可以考虑使用ROWED,如自己通过binlog日志来同步数据的修改,这样会节省很多相关操作。对于binlog数据处理会变得非常轻松,相对mixed,解析也会很轻松(当然前提是增加的日志量所带来的IO开销在容忍的范围内即可)。 3.mysqlbinlog格式选择 mysql对于日志格式的选定原则:如果是采用 INSERT,UPDATE,DELETE 等直接操作表的情况,则日志格式根据 binlog_format 的设定而记录,如果是采用 GRANT,REVOKE,SET PASSWORD 等管理语句来做的话,那么无论如何 都采用 SBR 模式记录 三.Mysql Binlog日志分析 通过MysqlBinlog指令查看具体的mysql日志,如下: /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// SET TIMESTAMP=1350355892/*!*/; BEGIN /*!*/; # at 1643330 #121016 10:51:32 server […]

龙生   12 Nov 2014
View Details

Windows下MySQL日志的启用

1.    首先连接上mysql,查看日志服务是否开启 点击(此处)折叠或打开 show global variables like \’log_bin%\'; 输入上面的命令可以查看当前mysql的日志服务是否开启,图为OFF状态,表示还未开启,MySQL默认状态下是未开启日志服务的。 2.    开启日志服务 配置MySQL根目录下的my.ini文件,在[mysqld]下面添加存放日志的路径,此处我写的是绝对路径,在MySQL的根目录下我创建了log/log-bin/logbin.log路径, 创建目录时要注意以下两点: a)    目录的文件夹命名中不能有空格,否则在访问日志时会报错。 b)    指定目录时要以*.log结尾,即不能仅仅指定到文件夹的级别,上面我创建的路径写了logbin.log,那么在log/log-bin/目录下会产生logbin.000001和logbin.index两个日志文件; 否则不会有日志文件产生。 3.    重启mysql服务 my.ini文件修改后保存,需要重启mysql服务才能生效。windows下右键“计算机”->“管理”->“服务和应用程序”->“服务”里面,选择“MySQL”,然后点击“重启动”,即完成重启服务。 4.    再次查看mysql的日志服务状态,就会看到开启状态 5.    查看日志 在DOS状态下,进入MySQL的bin目录下执行mysqlbinlog命令,可以查看指定的日志文件,例如查看logbin.000001日志 要注意查看日志的目录,因为我的日志目录是和bin在同一级别中,因此先../返回上级目录,再查找log/log-bin/logbin.000001日志。 from:http://blog.itpub.net/29660208/viewspace-1188431/

龙生   12 Nov 2014
View Details

四款超棒的 jQuery 数字化签名插件

在浏览器中,我们有很多方式来绘制生成签名效果,并且有很多很棒很智能的jQuery插件。数字化签名是未来的发展方向,正是这个原因我们这里收集并且推荐了四款超棒的jQuery数字化签名插件,希望大家喜欢! 1. jSignature 这个jQuery插件简化了创建数据签名的过程,允许用户使用鼠标,手写板,手指来绘制签名。这里是演示 2. Signature Pad 这个jQuery插件可以辅助使用HTML5画布来实现数字签名。它保存签名为JSON,并且可以以后再重新生成,这里是演示 3. jQuery UI Signature 这个jQueryUI插件帮助捕捉或者绘制签名。要求jQuery UI组件和鼠标模块,如果需要支持老版本IE的话,需要excanvas.js。 4. jSignature 一个jQuery插件帮助添加web签名功能的插件。这里可以查看演示 阅读原文:四款超棒的jQuery数字化签名插件 from:http://www.oschina.net/news/53718/4-jquery-signature-plugins

龙生   07 Nov 2014
View Details

30 个 jQuery & CSS3 加载动画和进度栏插件

喜欢哪个赶紧带走,过期不候。 Animated Progress Bars with CSS3 [ Demo | Download ] Spin JS Bar [ Demo | Download ] The Facebook loading animation [ Demo | Download ] Flickr Style Loading Animation [ Demo | Download ] CSS3 Loading Spinners Without Images [ Demo | Download ] Sonic.js [ Demo | Download ] QueryLoader2 – Preload your images with ease [ Demo | Download ] jQuery Progress Bar [ Demo | Download ] jQuery Ajax Loader & Spinner [ Demo | Download ] Animated jQuery Progressbar [ Demo | Download ] Automatic Page Load & Ajax Request Progress Bar [ Demo | Download ] CSS Load [ Demo | Download ] Mambo [ Demo | Download ] Google Like jQuery Slim Progress Bar Plugin [ Demo | Download ] CanvasLoader Creator [ Demo | Download ] Loader Bar [ Demo | Download ] Animated Progress Bar [ Demo | Download ] Animated Progress Bar in 4 […]

龙生   07 Nov 2014
View Details

为开发者们准备的 10 款超棒的 jQuery 视频插件

jQuery 是一种快速、简洁的 JavaScript 库,可以简化 HTML 文档遍历、事件处理、动画和 Ajax 交互,能快速进行 web 开发。一个 jQuery 插件基本上是一种新方法,用来扩展 jQuery 原型对象。当扩展原型对象时,所有的 jQuery 对象就会启用并且能够添加和继承其他的任何方法。 1. Bigvideo.js BigVideo.js 是一个 jQuery 视频插件,能让用户很方便将视频作为网站的背景并且能够生成自适应的视频背景。它可以播放一个无声视频(或一系列视频),或者像播放器一样提供一个视频列表给用户,让他们选择喜欢的进行播放。这个插件基于 Video.js 构建。此外如果有些设备不支持自动播放则转换成用图片来显示。这款插件要求 jQuery UI(滑块控制)和 jQuery 图像加载插件。在线演示 2. jPlayer jPlayer 是个完全免费和开源的媒体库 (media library)。作为jQuery插件的一员,使用jPlayer可以在你的网页上轻松加入跨平台的音乐和视频。通过jPlayer的API,你可以构想出具有创意的影音解决方案。  在线演示 3. Tubular Tubular 是一款 jQuery 插件,允许用户自由的设置 YouTube 上面的视频作为自己网页的背景。直接使用的时候需要安装 Javascript 和 Flash player 和具有相应功能的客户端浏览器。Tubular 依赖于 jQuery 和swfobject 。用户使用的时候只需要添加到你的 body 标签里面,指定一个 YouTube 的视频 ID 并且把 ID 告诉你的内容封装。需要注意的是,Tubular 必须部署在 web 服务器上。 4. FitVids.js Fitvids.js 是个轻量级,易于使用的 jQuery 插件,用来在网页上播放指定宽度的嵌入视频。Fitvides.js 会自动通过 Thierry Koblentz 的 Intrinsic Ration 方法来在你的响应式网页中实现流体宽度视频。有一款自定义的视频播放器吗?答案是肯定的,Fitvides.js 提供一个 customSelector 自定义选择器,允许用户添加自定义的视频供应商。在线演示 5. BigScreen BigScreen 是一个调用 JavaScript Full Screen API 的 […]

龙生   07 Nov 2014
View Details

20+ 个很有用的 jQuery 的 Google 地图插件

Google 地图在寻找我们想要了解的商店或者其它有趣的地方这种用途方面很流行和实用. 地图被一些商店特地集成到了它们的网站上面,这样就可以让人们容易找到它们的所在. 尽管其并不容易被集成,Google 地图使用起来还是简单且引人注目的. 在你的站点上集成它需要一个漫长且复杂的过程. 但多亏了拥有一个许多实用Google地图插件资源库的jQuery. 你只需要将jQeury地图插件安装到你的站点上,然后就可以开始根据你的业务需要来设计简单但能吸引人的地图了. 在本文中,我会列出一堆实用的jQuery Google地图插件, 它们提供了许多将地图添加到你的站点的功能. 如果你发现这片文章对你有帮助,请将其分享给其他人。如果你有任何其他的意见,请不要迟疑,把它们写在下面吧. WhatsNearby 一个使用Google地图将一个特定点附近的位置标识出来的jQuery插件. 示例 mapsed.js Mappy.js 是一个在一张地图上选择位置的插件. 出了选择位置,你还可以添加或者编辑已经集成到了你自己的数据库中的位置. 示例 JQuery 位置选择器 位置选择器插件可以让你很容易的找到并选择一个Google地图上的位置. 提供中心位置和半径,它还可以选择一片区域. 所有的数据都可以被自动地保存到任何HTML输入元素中,也可以被Javascript处理. 示例 Planetary.js Planetary.js 是一个用来构建很棒的可交互地球的Javascript库. 它使用了D3和TopoJSON来转换和渲染地理数据. Planetary.js 使用了一个基于插件的架构; 甚至于默认的功能都是作为插件实现的. 示例 Leaflet Leaflet 是一个用于对移动装置地图交互友好的现代开源Javascript库. Leaflet 被设计得简单,高性能且很好使用. 它开箱即用,可以很高效的运行在所有主要的桌面和移动平台上, 尽管吸收了现代浏览器HTML5和CSS3的有点,但仍然可以在较老的浏览器上运行. 示例 jQuery 商店定位 这个jQuery差劲啊利用了 Google Maps API 版本3 来创建一个能简单实现的商店选择器. 这需要无后台编程,你只需要向其提供带有所有位置信息的KML,XML或者JSON数据. 示例 Maplace.Js Maplace.js 可以帮助你在你的站点中嵌入Google地图, 并在其上快速创建新建和控制位置的菜单. 示例 MapQuery MapQuery 是一个你可以用来在你的站点上添加地图的jQuery插件. 不管你是要快速地添加一个地图到页面上,还是想构建一个特性丰富的web应用,MapQuery 都是你所需. 示例 jQuery Geo jQuery Geo, 是一个来自Applied Geographics的开源地理学地图项目, 提供一系列能满足你的在线地图应用大部分需求的Javascript API. 示例 Geolocation Geolocation 是一个使用Google Maps API v3来获取访问了你的网页的用户位置的jQuery插件. 示例 gMap gMap 是一个轻量级的JQuery插件,可以帮助你吧Google地图嵌入站点. 示例 VectorMap VectorMap 是一个用来在网页上展示矢量地图和可视化数据的JQuery插件. 示例 Europe : CSS […]

龙生   07 Nov 2014
View Details

2014年50个程序员最适用的免费JQuery插件

有用的jQuery库是设计师和开发者之间一个非常熟悉的短语。这是现在互联网中最流行的JavaScript函数库之一。每个设计师和开发人员都应该知道它的重要性,而且熟悉它的功能和特点。 jQuery几乎可以解决一个网站所有的问题 它可以从做一个有吸引力和创意的网站解决所有那些阻碍你的问题 如果你想解决任何跨浏览器的问题,那就必须收藏使用JavaScript函数库 jQuery库是Web开发人员的重要来源。你会发现很多互联网的jQuery插件都是免费使用的,但发现这些优秀的jQuery插件,需要你花费许多时间,经过许多个站点来了解最新和最流行的jQuery库。 所以,在今天的文章中,我们收集了许多最适合应用在网站中的jQuery库。你可以使用它们来为自己的网站添加很酷的效果。 1. Treed Treed 可以用在你网站上的树形编辑。它是可扩展的,可定制的,功能强大且非常易于使用的插件。 2. jQuery Vibrate 这是专门为移动设备建立的。它允许开发者在一个特定的时间周期的对任何设备进行振动操作。 3. Flight Indicators 这是一个非常容易使用的插件。您可以使用HTML,CSS3,jQuery和SVG图像显示高品质的飞行指标。. 4. jQuery LightSlider Lightslider可以为你网站提供自适应和可触摸的内容滑块。带滑动和淡入淡出效果,它与所有主流浏览器兼容。 5. jQuery GoUp! 这是一个非常简单而且易于使用的插件。它可以让您的网站访问者直接返回到页面的顶部点击。 6. Image Cropper 这个jQuery插件允许你裁剪网站上的图像。它还提供了一些选项和预览。还可以设置高度和宽度。 7. Devrama Slider Devrama是一个自适应图像滑块插件。支持图片和HTML内容。而且带有各种过渡效果。 8. jQFader jQFader是一个非常简单的插件,可以让网站的元素在实现淡出效果。风格朴素而且简单易用,非常适合在您的网站。 9. Forkit Forkit.js是一个展示动画丝带的jQuery插件,可以为访客带来额外的惊喜内容。它通常被放置在右上角。 10. Vertical News Slider 正如其名称所暗示的,是一个基于jQuery和CSS3的滑块,显示新闻标题左侧同时预览的选项,并简要总结。 11. Looking For 这是一个允许在页面上的列表项搜索文本的jQuery插件,它同时也隐藏了那些不匹配的项目。 12. Browser Swipe 这个插件允许你滚动时禁用在网站上触控板刷卡事件。根据鼠标滚轮和上下滚动控制它的反应。 13. Chicken Dinner ChickenDinner是一个独特的jQuery插件。它允许随机从客户端阵列通过图像标记或背景加载图像。 14. Flicker Plate 这是一个自适应和易于使用的jQuery插件。它可以让你在一个页面上翻页浏览网页上的内容。 15. SVGMagic 要SVG图像转换成PNG?使用这个简单的jQuery库。如果你浏览器不支持SVG格式,它可以搜索你网站上SVG图像,并将其转换为PNG图片。 16. lazyYT 这个jQuery插件是用来延迟加载YouTube视频的。在第一次加载时,格将被替换的视频预览图片,点击后,将自动播放。 17. ScrollMagic 有了这个插件,当内容向下滚动到一个特定的位置,你可以控制与用户不同的交互元素,动画炫酷,等等,。 18. RowGrid RowGrid是一个把图片或者其他元素在一条直线排在您的网站的jQuery插件。这是一个小而易用的工具。 19. Remodal 这个jQuery插件用于散列跟踪和声明式状态符号。它是自适应,扁平化,易于定制的插件。 20. Panorama Viewer 这是一个非常有用的jQuery插件。它允许你在网站插入全景照片展示更多的独特的感觉。 21. Floatlabels 这是一个对开发者非常熟悉的jQuery插件。当用户相互关联的任何文本,占位符值向上移动时会显示在上面键入的文本。 22. Fluidbox 这是一个非常有用的jQuery插件。它复制并提高了在它链接到更大的分辨率图像的方式看到介质流体灯箱模块。 23. Headroom Headroom.js可以帮助你保持网站主内容贴近用户的主导航。当网站向下滚动时,它自动缩回;当向上滚动时,它自动显示。 24. A-Slider A-Slider 是一个自适应的简单滑块,它也支持音频,而且非常容易使用,可以高度可配置的使用HTML的功能。 25. CoverflowJS 这是的CoverFlow项目,允许你通过结合jQuery的UI组件和CSS3样式的来创建一个功能齐全的“CoverFlow”的效果。 注:cover flow是苹果首创的将多首歌曲的封面以3D界面的形式显示出来的方式。 26. jQuery URLive 这个jQuery插件非常类似于Facebook帖子的附件功能。它允许你创建任意URL的基于其开放式图形属性实时预览。 27. BttrLazyLoading 这个插件允许Web应用程序只加载那些视窗内的图像。可以有不同版本的图像在四个不同的屏幕尺寸。 28. jQuery Collapser 这个jQuery插件可以让你用文字,字符和线条来灵活的折叠元素的文本。它具有多种函数来实现一个段落的折叠功能。 29. Parallax ImageScroll 这个插件可以创建一个图像的视差效果。它使用简单,并提供了许多选项进行修改。还可以使用动画和CSS3样式。 30. Block Scroll 这个jQuery插件打破了页面中一小部分内容的更好展示。通过一次显示的元素作为一个屏幕,使整个页面自动适应。 31. Full […]

龙生   06 Nov 2014
View Details

2014 年 25 款最新最棒的 jQuery 插件

我们收集了 2014 年 25 款最新最棒的 jQuery 插件,帮助大家改善网站的用户体验! 网络上提供了大量非常有用的 jQuery 插件,帮助大家完善网站的体验。所以我们在这里收集了 2014 年发布的,并且是非常有用的插件,希望能帮助大家找到自己需要并且喜欢的,提升网站的质量! HAMMER JS PAPA PARSE PAPAPARSE 是强大,浏览器内置的 CSV 解析器。 BLURR  Horwheel Component Animsition Animsition 是简单,易用的 jQuery 插件,用来在 CSS 动画隐藏 xs 的页面转换中添加 br 类。 LADDA BLAST Blast.js 可以分离文本,方便排版操作。包括四个分隔因素:字符,词,句子和元素。另外,Blast 可以自定义正则表达式和短语。 MENY Meny 是三维立体和空间特效菜单的概念。 FOKUS Fokus 使用 JavaScript 用黑色半透明覆盖页面的其他部分,强调任意你选择的部分。 SWIP LI CHAFFLE chaffle 是 jQuery 插件,允许用户随机混乱字符。 Valideasy TWINKLE twinkle 是 jQuery 插件,通过可视化的 effects · larsjung.de 来吸引浏览者的注意力。 JQ THUMB QR CODE HEATMAP JS IMAGE FIT BLOCK SCROLL ANIMATED CSS BOXES ROLLER BLADE Simple Sidebar AIM SMOOTH STATE JS VIDE via webdesignmoo.com […]

龙生   06 Nov 2014
View Details

2014 年最好的 20 个 jQuery Lightbox 插件

只看图不说话 Chillbox  Visual LightBox Magnific Popup jQuery lightGallery Photo Box iLightBox Featherlight Smoothbox Featured – Likno Web Modal Windows Builder Touch optimized sliders Image Lightbox Swipebox Colorbox Slimbox 2 Highslide JS asPopup Nivo Lightbox Lightview Image Lightbox via webdesigncone from:http://www.oschina.net/news/54692/best-jquery-lightbox-plugins

龙生   06 Nov 2014
View Details

10 个非常有用的 jQuery 全屏背景插件

现在的网页设计很流行全屏背景,就是使用一张大图作为网页的背景,在网页进行滚动时背景不动。本文介绍 10 个在处理全屏背景效果的 jQuery 插件。 BACKSTRETCH VIDE   BIG VIDEO   SIMPLE VID   GAYA DESIGN   MOTIO   VEGAS   OKFOCUS VIDEO   FORMSTONE   SUPERSIZED via webdesignmoo from:http://www.oschina.net/news/55788/10-useful-fullscreen-background-jquery-plugins-2014

龙生   06 Nov 2014
View Details
1 304 305 306 414