现在位置: 首页 > 关系型数据库 > 文章
2018年07月30日 SQL基本用法 ⁄ 共 755字 暂无评论 ⁄ 阅读 143 次
问题 最近在联调某个业务时发现使用的签名总是验证不过,在MySQL中查询了该业务的私钥配置和业务侧的配置是一样的,问题就出在SQL查询这里,最后将配置导出到本地发现私钥后面多了一个空格,将空格删除然后签名计算OK。问题是:为什么在DB查询条件中的字符串没有包含空格也可以查到实际包含空格的这条记录呢? 原因 如果字段是char或varchar类型,那么在字符串比较的时候MySQL使用PADSPACE校对规则,会忽略字段末尾的空格字符,...
阅读全文
2018年07月13日 SQL基本用法 ⁄ 共 3039字 暂无评论 ⁄ 阅读 125 次
很长一段时间,都认为"insert into a select * from b" 会导致b表被锁住。在最近一次组内同事的质疑中,发现错了.b表会不会被锁,其实和隔离级别有一定关系,下面我们具体分析一下 环境说明: 1.隔离级别:REPEATABLE-READ 2.MySQL版本:5.6.29 3.Binlog格式:ROW 4.建表SQL: CREATE TABLE `os_diskio_history_bak` ( `id` int(10) NOT NULL AUTO_INCREMENT, `ip` varchar(50) NOT NULL, `tags` varchar(100) DEFAULT NULL, `fd...
阅读全文
最近,在新上线的一套DBProxy+MySQL项目过程中,发现后端MySQL DB出现登陆报错: [Warning] Access denied for user 'apps'@'192.168.1.146' (using password: NO) 以上报错为测试环境,模拟产生的报错信息,实际生产环境是 Access denied for user 'root'@'proxy IP' (using password: NO) 查看了其它DBProxy后端的DB,没有此类报错。 对比问题DBPrroxy和正常DBProxy的配置文件,版本等信息,发现都是一样,无差异。 这样看来...
阅读全文
2018年06月28日 数据库代理 ⁄ 共 4871字 暂无评论 ⁄ 阅读 324 次
      在我们的日常运维中,随着公司业务的持续发展,DB的单机性能逐渐满足不了要求,大家首先想到的可能是拆表,拆库,扩容,归档,提升硬件配置等等,但实际业务场景中,往往优先出现瓶颈的是读的性能,这也就是,我下面要说的数据库读写分离。        目前,每个公司的读写分离策略都不太一样,有的采用的是开源的数据库中间件,对应用开发来说,是透明的;有的公司采用的是代码层时间读写分离,需要对代码有一定的倾入性;...
阅读全文
2018年01月17日 数据库优化 ⁄ 共 4664字 暂无评论 ⁄ 阅读 493 次
在MySQL官方手册上,关于index merge的介绍非常非常少。甚至还有不少误导的地方,这次把5.1版本关于此类优化处理的代码细看了一遍,以案例的方式介绍了各种实用index merge访问类型的SQL。后续的还会继续介绍index merge实现的主要数据结构,以及成本评估。 1. 什么是index merge MySQL优化器如果发现可以使用多个索引查找后的交集/并集定位数据,那么MySQL优化器就会尝试index merge这类访问方式。index merge主要分为两大类,...
阅读全文
2017年02月05日 初识MySQL ⁄ 共 1804字 暂无评论 ⁄ 阅读 2,402 次
mysqlslap是从MySQL的5.1.4版开始就开始官方提供的压力测试工具。 通过模拟多个并发客户端并发访问MySQL来执行压力测试,同时提供了较详细的SQL执行数据性能报告,并且能很好的对比多个存储引擎(MyISAM,InnoDB等)在相同环境下的相同并发压力下的性能差别。 mysqlslap 官方介绍:http://dev.mysql.com/doc/refman/5.6/en/mysqlslap.html 常用参数 [options] 详解 --host=host_name, -h host_name 连接到的MySQL服务器的主机名...
阅读全文
2016年08月17日 备份恢复 ⁄ 共 929字 暂无评论 ⁄ 阅读 3,038 次
昨晚,有个朋友说它的DB有张表,被研发误删了一部分数据,咨询我一些恢复的思路: 环境:全备、增备、日志、主从、binlog-format=mixed 由于binlog格式的限制,没法从binlog里面反向解析误删数据,因此,就有了下面的思路,有什么遗漏的或者不到位的地方,欢迎大家指正!! 1.必须有xtrabackup备份 这里包括全备和增备 2.在全备和增备上都执行--apply-log --redo-only操作 执行完此操作后,备份的数据目录里会包含以下几种数据...
阅读全文
2016年05月30日 MySQL故障 ⁄ 共 1744字 暂无评论 ⁄ 阅读 3,236 次
今天,研发提交了一个死锁信息,涉及到自增表的死锁,测试,压测产生的死锁信息,并发500,信息如下: 从上面死锁信息来看,lock mode AUTO-INC waiting,应该是表的自增列的问题,初步了解,这个死锁和 innodb_autoinc_lock_mode 的值有一定的关系,但也不因全归咎于mysql的问题。 从5.6的用户手册中查找到AUTO-INC的相关信息: InnoDB uses a special lock called the table-level AUTO-INC lock for inserts into tables wit...
阅读全文
2016年05月24日 MySQL故障 ⁄ 共 760字 暂无评论 ⁄ 阅读 7,208 次
最近,经常遇到mysql多线程复制故障的问题,报错有以下几种: 第一种: Last_Error: Cannot schedule event Rows_query, relay-log name ./db-s18-relay-bin.000448, position 419156572 to Worker thread because its size 18483519 exceeds 16777216 of slave_pending_jobs_size_max. 第二种: [Note] Multi-threaded slave: Coordinator has waited 701 times hitting slave_pending_jobs_size_max; current event size = 81...
阅读全文
canal 是阿里巴巴mysql数据库binlog的增量订阅&消费组件。 名称:canal [kə'næl] 译意: 水道/管道/沟渠 语言: 纯java开发 定位: 基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量 变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志...
阅读全文
×