姓名,职务:他本人:他女儿maria,Mariadb就是以她女儿的名字命名的。一个传奇人物。
如果有一天数据库里丢失了一条记录,开发让你查什么时候被谁从哪个IP,执行了delete操作,那么在之前的版本是无法查到的,而Percona最新版本5.6.17首次提供了审计日志功能。(注:截止2014年5月19日,官方MySQL5.6.17社区版和MariaDB10.0.11均没有提供该功能)版本:5.6.17-65.0-rel65.0-log Percona Server&n
软件名称:Sequel Pro(MySQL客户端工具)官网地址:http://www.sequelpro.com/该工具在导出表数据的时候,会产生一条坑爹的SQL:/*!40000 ALTER TABLE `sbtest` DISABLE KEYS */;这条SQL是针对MyISAM引擎批量插入,为了加快插入速度,会加上ALTER TABLE t1 DISA
Oracle 刚刚发布了 MySQL 5.6.10 GA 版本,所以是时候更新下之前的性能测试数据了,此次的测试包括以下几个版本: MySQL-5.5.29 MySQL-5.6.10 MariaDB-5.5.28a MariaDB-10.0.1 此次测试还保留了 5.5 版本是为
现在选择继续使用MySQL或抛弃它切换到MariaDB有足够的理由。MySQL和MariaDB的性能比较现在把目光移到benchmark上面来,它其实也是由MariaDB团队开发的,并加了一下额外的说明。这篇博客提到了一个有趣的地方:把MYSQL5.6的线程数一直增加到16,性能都很好,但是超过了16的话,尽管性能也有提升一点点,但比较发现,远不如其他版本(包括MairaDB-5.5.28a和Ma
请大家先看一下:对子查询优化,各版本的执行计划,就不难发现为啥谷歌要把MySQL给抛弃了。很好的一个产品,被Oracle做成了这样。。。摘要:即使饱受非议,MySQL当下仍然是开源数据库的人气之王。然而光鲜的背后,其神位似乎已摇摇欲坠。继维基百科及多家Linux发行公司弃用MySQL之后,互联网巨头Google也果断使用MariaDB来替换公司内上万的MySQL实例。尽管被Oracle捕获后,My
在之前的版本里:一个从只能对应一个主,MariaDB10的新特性,可以支持一个从对应多个主。视频地址:http://edu.51cto.com/lesson/id-23278.html注:半同步复制目前暂不能工作在多源复制上。
去年的5月,我第一次在博客上介绍了关于MariaDB 10.0。 我们当时收到很多的反馈,在进行众人意见总结后,我们再次的更加深入的解释过MariaDB 10.0. 在新的一年的伊始,随着MariaDB 10.0 的 Alpha版本的推出,现在应该是时候再多说一点关于MariaDB 10.0, 特别是它和MySQL 5.6的一些区别,而这个问题也是我和很多身在MariaDB项目里的人都常常被问及的
Sysbench OLTP,每秒处理事务数 在使用高性能低延迟的存储设备(如SSD)时,我们可能会遇到意想不到的瓶颈。本文讲述的就是遭遇和处理这样的一个瓶颈的故事。 InnoDB 有一个独特的特性叫“双写缓存”(Double Write Buffer)。这个特性用于恢复那些未完整写入的页(Page),如果电源出现故障时 InnoDB 正在往硬盘上写一个页(1页=16KB=32磁道),那
今天论坛打开了这个会话功能,结果很荣幸踩坑里了,连接数直接给干到2000开外。好了,直接上图说下:show processlist,满屏显示这条SQL,情急之下,立即pt-kill,先让论坛活下来。顺便想问候下discuz开发,你们真的做了测试了吗,就直接发布了?表结构:mysql> desc pre_common_session; +--------------+-------------
针对读者提出的问题,做下讲解,以及关于调用的脚本介绍。http://edu.51cto.com/lesson/id-20864.html
在XtraBackup2.1.X版本里,用innobackupex备份时,备份的流程是这样的:1、拷贝InnoDB表数据 2、FLUSH TABLES WITH READ LOCK;(执行全局表读锁) 3、拷贝.frm, MyISAM表数据 4、得到当前binlog文件名和Position点 5、完成redo log事务日志的后台复制 6
开发上线完以后,到早上高峰期并发压力大,有可能因某个SQL的原因把数据库给打死,参考《一个引号导致1个小时网站打不开》,这个时候你可以用pt-kill杀死,但连接数过高,CPU负载很高,这个工具根本没法去处理,数据库这个时候已经成瘫痪状态,那么应该怎么办?首先要保证数据库不能被打死,先让数据库压力降下来,这里就要做一些限制措施。我们先用iptables封死3306端口,先把压力降下来,然后tail
如图:如果开发让修改表字段属性,建议用pt-online-schema-change。MySQL5.6的在线DDL会锁全表。注意这个坑。另外,增加、删除字段或索引不会锁全表,删除主键会锁全表。
咱们就说下这个例子,提醒广大开发在写SQL的时候一定要仔细!当时情况是这样的,一个慢SQL把数据库CPU连接数跑满,由于并发压力大,CPU空闲瞬时为0,过一会机器被HANG死,连接不上。因涉及公司隐私问题,我这里用测试表代替,咱们主要看看是怎么引起的。表结构:mysql> desc sbtest; +-------+------------------+------+-----+------
什么是远程管理卡,简单一句话:通过以太网对计算机的开机、重启、配置、维护,可以远程操作用的网卡设备。DELL服务器远程管理卡介绍:http://wenku.baidu.com/link?url=K9pst7sf80ro-gWI-9XZmDdBoXAH5mOdhfXDOij5sRM4ygXynqnhe7Ci7HIbKnk69O-JF7_Gw2U4JkGr8UlDOS6KPeAOI6pDZReX9Jf
SELECT s.* FROM pre_common_member s WHERE s.`username` LIKE('%植物大战僵尸%') LIMIT 100;like后面接'%关键字%' 这样是用不到索引的,会导致全表扫描,这条SQL查询耗时,见下图:耗时:27.89秒--------------------------------------------------------------
感谢读者张舒鳌指出勘误!
MySQL5.5里:MySQL5.6里:已经加密。但如果update mysql.user set password=password('654321') where User='hcy';还会是明文,如图:测试环境binlog_format = MIXED改为ROW模式:加密。
目前主流服务器都支持NUMA架构,我们可以通过命令numactl --hardware查看,如图:在这里,NUMA架构把CPU逻辑上划分为两个节点node0和node1,每个节点上分配4核CPU、16G内存。NUMA默认策略:内存优先分配给node0,当InnoDB_Buffer_Pool设置为22G时,node0使用完本地内存,此时就应该使用node1节点的内存,但它宁可使用SWAP,也不会选择
最近在审核SQL的时候,发现一些开发经常犯这个错误,下面我举个简单的例子,说明一下:查找出A表和B表id相同的记录(并且把B表没有的id记录也查询出来),且name名字等于'b'的记录。表数据:mysql> select * from t1; +----+------+ | id | name | +----+------+ | 1 | a | | 2 | b
上周日,早上快到6点,天还没亮,睡得正香,突然被一声短信惊醒,Too many connections!我这纳闷呢,搞啥活动呢?平常这都是低风期啊。登陆机器一查看慢日志,发现有这么一条SQL,很奇葩:跑了快1小时了,而且查询的结果还是0行。很奇怪到底在搞毛?我又查看了这个表,并没有aid=1的记录。周一询问了开发,都不知道这条SQL。最后猜想到,这是不是监控人员,搞的一个每隔15秒就连接一下,看看
我们知道在MySQL5.5里,如果想修改ib_logfile(redo log)文件大小,步骤是:一、set global innodb_fast_shutdown = 0;二、mysqladmin shutdown三、在my.cnf文件里修改innodb_log_file_size参数值四、mv ib_logfile* /bak(不移走,启动会报错)五、mysqld_safe --default
在检查慢SQL时,发现一条统计SQL执行过慢,如下:原SQLSELECT platform, channel, COUNT(DISTINCT(platformUserId)) as cnt FROM( SELECT platform, channel, platformUserId, MIN(insertTimestamp) as rtime FROM tsz_user
表结构(1000万行记录):mysql> show create table sbtest\G; *************************** 1. row *************************** Table: sbtest Create Table: CREATE TABLE `sbtest` ( `id` int(10) unsigned NO
网友黄华亮发了一条SQL的执行计划问t表的字段TOP_TITLE_ID是主键,为啥order by还会有Using temporary; Using filesort后来我把该表要了过来,在我的机器上做了下测试,如果改成如下SQL就没有Using temporary; Using filesort于是又在5.6上测试了一下,发现:同样的SQL语句,在MySQL5.6上就去掉了Using tempo
MySQL5.6出来一年了,对其新特性也有了了解,也基本上稳定了,等小版本在5.6.20就可以考虑将线上的数据库版本进行升级。为了更多网友今后升级工作,这里我模拟了生产环境对其进行一次升级,我选择的版本是Percona,选择的因素是线程池,这个只有MySQL企业版才支持,较之社区版有了性能的改善。视频地址:http://edu.51cto.com/lesson/id-18818.html
这篇文章生动的描述了线程池的妙处,它可以解决高并发数据库性能下降。每个客户端连接MySQL执行SQL语句会创建一个线程。一旦连接数量的增加超过某特定点性能将会下降。
xtrabackup迁移单独一张InnoDB表到远程服务器。我们知道MyISAM引擎可以单独把*.MYD和*.MYI拷贝到远程服务器上,但如果是InnoDB引擎,受限MySQL5.5版本限制,直接拷贝.ibd到远程服务器是不行的。因为在ibdata1文件里保存着表的字典信息,在ibd文件里保存着事务ID和日志序列号,这些对于每个服务器来说都是不一样的。所以在MySQL5.5里,针对InnoDB表迁
MySQL数据库CPU飙升紧急处理方法运行平稳的数据库,如果遇到CPU狂飙,到80%左右,那一定是开发写的烂SQL导致的,DBA首先要保证的是,数据库别跑挂了,所以我们要把那些运行慢的SQL杀死并记录到文件里,以便后面的排查。这里用到一个工具pt-kill,它可以帮助你。pt-kill --match-info "^(select|SELECT)" --busy-time 3 --victim
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号