现在MySQL运行的大部分环境都是在Linux上的,如何在Linux操作系统上根据MySQL进行优化,我们这里给出一些通用简单的策略。这些方法都有助于改进MySQL的性能。 闲话少说,进入正题。 一、CPU 首先从CPU说起。 你仔细检查的话,有些服务器上会有的一个有趣的现...
1、MySQL数据库出错:Table ... is marked as crashed and should be repaired 方法:用命令修复: repair table table_name;命令修复...
对于多数应用来说,MySQL都是作为最关键的数据存储中心的,所以,如何让MySQL提供HA服务,是我们不得不面对的一个问题。当master当机的时候,我们如何保证数据尽可能的不丢失,如何保证快速的获知master当机并进行相应的故障转移处理,都是需要我们好好思考...
如果单MySQL的优化始终还是顶不住压力时,这个时候我们就必须考虑MySQL的高可用架构(很多同学也爱说成是MySQL集群)了,目前可行的方案有: 一、MySQL Cluster 优势:可用性非常高,性能非常好。每份数据至少可在不同主机存一份拷贝,且冗余数据拷贝实时同步。...
mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具。通过模拟多个并发客户端访问MySQL来执行压力测试,同时详细的提供了高负荷攻击MySQL的数据性能报告。并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别。 通过mysqlslap help可以获...
Mysql 维护记录: 事故发生背景: 1. 下班时,几个同事同时在网站发送 logbk ,但全部发送失败,遂放弃。 2. 下班后,公司停电。服务器自动重启。 3. 第二天上班,启动 apache 。但网页打不开了。查看服务器, mysql 未启动。手动启动 mysql ,失败,出现提...
Suse Linux 10中MySql安装与配置步骤,本文详细的讲解了安装步骤 安装环境: 操作系统:suse Linux 10 数据库:MySQL 5.0.22 希望能认识更多高手,互相学习讨论技术! 首先发泄一下再这,网上看了N多安装mysql的文章,大多大同小异,都不能很好的安装mysql;多...
今天在测试环境中加一个索引时候发现一警告 1 2 3 4 5 6 7 8 9 10 11 12 13 root@test 07:57:52 alter table article drop index ind_article_url; Query OK, 144384 rows affected (16.29 sec) Records: 144384 Duplicates: 0 Warnings: 0 root@test 07:58:...
有这样的一个需求:select count(distinct nick) from user_access_xx_xx; 这条sql用于统计用户访问的uv,由于单表的数据量在10G以上,即使在user_access_xx_xx上加上nick的索引, 通过查看执行计划,也为全索引扫描,sql在执行的时候,会对整个服务器带来抖...
昨晚收到客服MM电话,一用户反馈数据库响应非常慢,手机收到load异常报警,登上主机后发现大量sql执行非常慢,有的执行时间超过了10s 优化点一: 1 SELECT * FROM `sitevipdb`.`game_shares_buy_list` WHERE price=2.00 ORDER BY tran_id DESC LIMIT 10; 表...
使用过oracle或者其他关系数据库的DBA或者开发人员都有这样的经验,在子查询上都认为数据库已经做过优化,能够很好的选择驱动表执行,然后在把该经验移植到mysql数据库上,但是不幸的是,mysql在子查询的处理上有可能会让你大失所望,在我们的生产系统上就由...
批量杀死MySQL连接的四种方法详解,本文分别给出了代码实例 方法一 通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令。 代码如下: mysql select concat(KILL ,id,;) from information...
在MySQL复制环境中,我们通常只根据 Seconds_Behind_Master 的值来判断SLAVE的延迟。这么做大部分情况下尚可接受,但并不够准确,而应该考虑更多因素。 首先,我们先看下SLAVE的状态: 代码如下: yejr@imysql.com [(none)] show slave status\G ************...
关于MySQL中savepoint语句使用时所出现的错误,字符串出现e时所产生的问题也被作为MySQL的bug进行过提交 前几天帮同事解决一个案例,在主从复制环境下,从库上的MySQL版本号是5.5.5,遇到下面的错误: 1 2 3 4 5 6 7 8 9 10 #其他非相关信息我都隐藏掉了 [(yej...
本次,我们来看看索引、提交频率对InnoDB表写入速度的影响,了解有哪些需要注意的。 先直接说几个结论吧: 1、关于索引对写入速度的影响: a、如果有自增列做主键,相对完全没索引的情况,写入速度约提升 3.11%; b、如果有自增列做主键,并且二级索引,相对...
首先,介绍下关于InnoDB引擎存储格式的几个要点: 1、InnoDB可以选择使用共享表空间或者是独立表空间方式,建议使用独立表空间,便于管理、维护。启用 innodb_file_per_table 选项,5.5以后可以在线动态修改生效,并且执行 ALTER TABLE xx ENGINE = InnoDB...
sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。 目前sysbench代码托管在launchpad上,项目地址:https://launchpad.net/sysbench(原来的官网 http://sysbench.sourceforge.net 已经不可用),...
MySQL中对于not in和minus使用的优化,作者给出了实例和运行时间对比 优化前: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 select count (t.id) from test t whe...
通常应用需要对表中的数据进行翻页,如果数据量很大,往往会带来性能上的问题: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 root@sns 07:16:25 select count (*) from reply_0004 where thread_id = 5616385 and deleted = 0; +-+...
MySQL中的primary key功能,包括讲到了其对InnoDB使用的影响 在5.1.46中优化器在对primary key的选择上做了一点改动: Performance: While looking for the shortest index for a covering index scan, the optimizer did not consider the full row length fo...
MySQL在5.1引入了一个rename database操作,但在MySQL5.1.23后又不支持这个命令。可以说是一个实验性的功能,没有在生产中支持过(mysql-5.1 release在mysql-5.1.30),那么生产中我们有时为了追求完美需要改一下库名。怎么操作呢? 这里提供一个变通的方法 1...
关于MySQL的整型数据的内存溢出问题的应对方法,作者还列出了MySQL所支持的整型数据的存储空间支持大小 今天接到一个朋友电话说是觉的数据库被别人更改了,出现数据不对的问题 。经过很久的排查是数据类型溢出了(发生问题的版本是MySQL 5.1)。后来通过给朋友...
今天帮同事处理一个SQL(简化过后的)执行报错: 1 2 3 mysql select date_format( 2013-11-19 , Y-m-d ) timediff( 2013-11-19 , 2013-11-20 ); ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci, NUMER...
我们在用mysqldump备份数据时,有个选项是 where / -w,可以指定备份条件,这个选项的解释是: 1 -w, --where=name Dump only selected records. Quotes are mandatory 我们可以做个测试,例如: 1 mysqldump --single-transaction -w id 10000 mydb mytable...
众所周知,在MySQL中,如果直接 ORDER BY RAND() 的话,效率非常差,因为会多次执行。事实上,如果等值查询也是用 RAND() 的话也如此,我们先来看看下面这几个SQL的不同执行计划和执行耗时。 首先,看下建表DDL,这是一个没有显式自增主键的InnoDB表: 1 2 3...
通常,我们会采用ORDER BY LIMIT start, offset 的方式来进行分页查询。例如下面这个SQL: 1 SELECT * FROM `t1` WHERE ftype=1 ORDER BY id DESC LIMIT 100, 10; 或者像下面这个不带任何条件的分页SQL: 1 SELECT * FROM `t1` ORDER BY id DESC LIMIT 100,...
MySQL中从库延迟状况排查的一则案例,针对其从库无业务状态下的CPU大量占用情况 今天给一个客户巡检的情况下发从库没有业务的情况mysqld的cpu的一个core占用100%.查主库慢查询也没有关于写的SQL. 可以说是典的单进程复制把一个cpu占满造成的.知道原因了,就好...
在MySQL中使用mysqlbinlog flashback的简单教程,可以很方便地恢复数据 简介: mysqlbinlog flashback功能是淘宝彭立勋(http://www.penglixun.com/)的一个很强劲的作品. 主要功能: 对rows格式的binlog可以进行逆向操作.delete反向生成insert, update生成反...
Mysql命令行导入数据库: 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2...
摘要: 利用Xtrabackup工具备份及恢复(MySQL DBA的必备工具) XtrabackupMySQL DBA的必...
MySQL 5.7.5后实现了对功能依赖的检测。默认启用了only_full_group_by 的SQL模式,会...
在部署实施过程工作中,我经常采取的是全量备份数据量或者增量备份数据库,对于mysql...
一、数据库事务隔离级别 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted...
mysql的sql_mode合理设置 sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置...