自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (12)
  • 收藏
  • 关注

转载 MySQL SQL查询中where条件提取规则以及ICP(index condition pushdown)解析

1问题描述  一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的。因此,本文挑选了其中的部分内容,也是我一直都想写的一个内容,做重点介绍:给定一条SQL,如何提取其中的where条件?where条件中的每个子条件,在SQL执行的过程中有分别起着什么样的作用?通过本文的介绍,希望读者能够更好..

2022-01-18 15:15:06 477

转载 MySQL/InnoDB的加锁分析

1. 背景MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?会有什么样的使用风险?甚至是分析线上的一个死锁场景,了解死锁产生的原因。注:MySQL是一个支持插件式存储引擎的数据库系统。本文下面的所有介绍,

2022-01-18 15:10:53 530

原创 MySQL几个超时参数(timeout)解释

1. connect_timeoutmysql客户端在尝试与mysql服务器建立连接时,mysql服务器返回错误握手协议前等待客户端数据包的最大时限。默认10秒。2. interactive_timeout / wait_timeoutmysql关闭交互/非交互连接前等待的最大时限。默认28800秒。3. lock_wait_timeout sql语句请求元数据

2017-02-28 09:37:53 41033

原创 MySQL数据库重命名存储过程

MySQL不支持将整个数据库(db schema)重命名,我们可以通过自己写一个存储过程来实现。实现思路:1)创建目标数据库。2)执行命令:rename table 原库.表 to 目标库.表,将表重命名。3)删除原库。-- 说明:出于安全考虑,删除原库的操作在下述存储过程中已经注释掉,如果需要启用,去掉语句前的#号即可。DELIMITER $$CREATE D

2016-12-29 20:42:04 4900

原创 MySQL查看事务锁信息

MySQL的information_schema库下有四张(实际上是系统视图):INNODB_LOCKS、INNODB_TRX、INNODB_LOCK_WAITS、PROCESSLIST记录了当前在mysql上的事务,线程,锁的信息。通过下面这条sql语句,可以查询锁与被锁的事务或线程的信息,语句如下:    use information_schema;select a.trx_mysq

2016-12-28 21:43:10 3713

转载 CenterOS支持中文

本文转自:http://www.cnblogs.com/yg_zhang/p/4331498.html 怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码。出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导致的。以centos为例,操作Linux怎么查看语言,设置修改语言

2016-11-24 20:26:24 1319

原创 MySQL Explain输出详解和总结

mysql使用嵌套循环连接的方式来实现所有表连接。这就意味着mysql首先读取第一个表的第一条匹配记录,然后找出第二个表中匹配的记录,再找出第三...第n个表中匹配的记录,直到所有的表找完。mysql输出找到的字段,然后通过表列表回溯回去,直到表中存在多条匹配的记录,mysql继续从这个表中读如下一条记录,然后继续查找下一个表中匹配的记录,依次类推。查询类型说明:1.syste

2016-11-22 10:46:26 511

原创 MySQL 5.6 create table like 同步异常问题分析与总结

我们都知道,mysql5.6版本如果设置了enforce-gtid-consistency=true,则mysql禁止执行create table ... select ...语句,原因是这条语句在mysql内部会被分解成一个dml事务和一个ddl事务,但这两个事务用同一个gtid,binlog同步到从库后,第二个dml语句因为相同gtid的事务已经执行过而被丢弃,造成数据不一致(详见MySQL官

2016-11-17 09:40:58 1540

原创 MySQL冗余索引清理规则

第一个索引是第二个索引的左前缀索引, 删除第一个索引有主键, 用不到唯一索引, 删除唯一索引有主键, 用不到普通索引, 删除普通索引有唯一索引, 用不到普通索引, 删除普通索引有联合主键索引, 用不到普通组合索引, 删除普通组合索引索引重复, 删除其中一个索引普通索引默认以主键索引做后缀, 重建普通索引

2016-11-04 16:03:46 1504

转载 mysql备份工具 :mysqldump mydumper Xtrabackup 原理

本文转自:http://www.cnblogs.com/zengkefu/p/5669512.html备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间。这

2016-10-27 08:54:13 561

原创 MySQL存储Emoji表情符号问题及解决方案

emoji就是表情符号;词义来自日语(えもじ,e-moji,moji在日语中的含义是字符),现已普遍应用于手机短信和网络聊天软件,是很流行使用的一种表情字符。MYSQL 5.5 之前, UTF8/utf8mb3 编码只能存储最大3个字节的字符, 从MYSQL5.5开始,可支持4个字节UTF编码字符,但要特殊标记,即显式定义表或字段为utf8mb4编码类型。如果表或字段已经定义为utf8

2016-10-26 10:34:12 5682

翻译 MySQL5.6Innodb表的特性和极限

Innodb表限制:(详见MySQL官网http://dev.mysql.com/doc/refman/5.6/en/innodb-restrictions.html)1.单表最多1017个字段。2.但表最多可建64个普通索引。3.默认情况下(innodb_page_size=16K),前缀索引最多包含767个字节。如果开启innodb_large_prefix,且Innodb

2016-10-26 09:37:22 3569

转载 mysqlbinlog异常之mysqlbinlog: unknown variable 'default-character-set=utf8'

本文转自:http://shanchao7932297.blog.163.com/blog/static/136362420112229736293/问题现象:1.  MysQL 版本: mysql-5.1.41,5.6.27-log2.  在使用mysqlbinlog分析日志时,报错:mysqlbinlog: unknown variable 'default-charact

2016-10-20 07:20:24 940

原创 MySQL5.6在线表结构变更(online ddl)总结

MySQL从5.6.17以后,支持在线修改表结构操作(online ddl),即在变更表结构的过程中,不阻塞dml和dql操作,这对dba来说无疑是个巨大的利好,如果你有过千万级别数据的表中修改表结构的经历,你一定会同意我的说法。  根据操作过程中是否需要表拷贝,online ddl可分为下面两大类:1.需要表拷贝的 ddl 操作:增加、删除、重排列。增加、删除主键。改变表的

2016-10-14 16:16:26 1956

翻译 Innodb表的物理存储结构及特性

Innodb表的物理存储结构:当innodb表使用冗余(REDUNDANT)行存储格式有如下特性:1.每个索引记录包含一个6字节的头,用于将逻辑上连续的记录链接到一起,同时也用于行级锁。2.聚集索引记录包含所有用户定义的列,即包含表中所有字段。此外,还有6字节的事务ID域,和7字节的回滚指针域。3.如果表没有定义主键,每个聚集索引则会包含6字节的ROW ID域。4.每个

2016-10-12 11:38:31 1096

原创 MySQL5.6支持的online DDL操作及注意事项

MySQL5.6之后提供在线修改数据库的操作,这些操作无需创建临时表,不需要拷贝数据本身,所以速度非常快。MySQL5.6以后InnoDB表支持的在线操作:1.重命名表:alter table original_table rename to target_table; rename table original_table to target_table;2.重命名列:3

2016-10-09 10:21:08 1260 1

转载 MySQL Jdbc驱动的rewriteBatchedStatements参数--批量修改开关

本文转自:http://www.cnblogs.com/chenjianjx/archive/2012/08/14/2637914.html介绍MySQL Jdbc驱动的rewriteBatchedStatements参数MySQL Jdbc驱动在默认情况下会无视executeBatch()语句,把我们期望批量执行的一组sql语句拆散,一条一条地发给MySQL数据库,直接造成较低的

2016-09-19 13:25:23 726

原创 Debain 下部署msmtp服务

Debain 下部署msmtp服务1.安装msmtp先查看是否安装了msmtpaptitude search msmtp如果没有,则安装aptitude install msmtp2.修改配置(用root权限登陆)sudo -spassword:xxxxxvim ~/.msmtprc# Example for a user configurati

2016-08-30 14:03:54 336

转载 MySQL(MariaDB)的 SSL 加密复制

本文转自:http://www.cnblogs.com/zhoujinyi/p/4191096.html背景:      在默认的主从复制过程或远程连接到MySQL/MariaDB所有的链接通信中的数据都是明文的,在局域网内连接倒问题不大;要是在外网里访问数据或则复制,则安全隐患会被放大很多。由于项目要求需要直接和外网的一台实例进行同步。所以本文介绍下通过SSL加密的方式进

2016-08-18 17:01:56 969

原创 MySQL常见问题分析及解决方法

1.MySQL5.6,往内存表中插入数据,报错:ERROR 1114 (HY000): The table 'ISPBased1Mem' is full分析:MySQLMEMORY存储引擎表大小由系统变量max_heap_table_size控制,默认大小为16M。往表中插入超过16M大小的数据会报上述错误。解决方法:修改max_heap_table_size的大小,将其设为更大的值,并重

2016-08-02 10:30:15 938

原创 MySQL高可用方案MHA部署

参考文章:http://ylw6006.blog.51cto.com/470441/890360http://blog.itpub.net/26230597/viewspace-1570798/1.下载mha manager 和 node程序https://code.google.com/p/mysql-master-ha/wiki/Downloads?tm=2

2016-07-22 09:11:00 365

原创 系统管理常用命令

1. debian设置静态主机名echo 'hostname' >> /etc/hostname2. 设置静态ipecho 'address 127.0.0.1' >> /etc/network/interfaces

2016-07-19 16:51:09 350

原创 常见HBase故障分析和解决方法

tail hbase-hbase-regionserver-ip-10-233-146-35.log2016-07-12 14:10:40,074 ERROR org.apache.hadoop.hdfs.DFSClient: Exception closing file /hbase/ResourceURL/eeeab3a7fb4d0d198c939eebf8e7a774/.tmp/bb

2016-07-13 09:53:35 3400

原创 MySQL多实例部署启动异常分析及解决方法

root@hz-433:~# cd /vobiledata/tmp root@hz-433:/vobiledata/tmp# /usr/local/mysql-5.6/bin/mysqld_safe --defaults-file=/etc/mysql/my.mediawise.cnf &[1] 14827root@hz-433:/vobiledata/tmp# 160712 01:3

2016-07-12 09:39:49 2735

转载 Hadoop/HBase常用操作及命令

1.HDFS存储服务故障快速恢复进行重启Cd /opt/hadoop/; ./bin/stop-dfs.sh ; ./bin/start-dfs.sh登录master机器curl $master:50070/fsck,检查数据健康状况。2.单个regionserver故障重启regionservercd /opt/hbase; sudo -u hbase .

2016-07-11 11:09:47 727

转载 HBase长时间无法关闭问题及处理(Waiting on regionserver(s) to go down)

HBase长时间无法关闭[Waiting on regionserver(s) to go down]为了释放已经删除的region,重启hbase,执行./bin/stop-hbase.sh。等了很久还未关闭,查看master日志,显示一直在等待regionserver2015-07-08 09:11:25,800 INFO org.apache.hadoop.hbase.maste

2016-07-11 11:07:36 9852

转载 Hadoop & HBase 故障排除

Hadoop & HBase 故障排除接到报警反馈HBase故障。1.上线检查HBase日志信息,有如下报错信息,无法链接RegionServer2015-06-23 08:50:39,219 DEBUG org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation: locateRegionIn

2016-07-11 11:05:10 716

转载 hadoop datanode 磁盘数据平衡

Hadoop DataNode Disk BalanceHadoop 支持 DataNode 间数据平衡,但是对于单个DataNode内的各磁盘平衡,则需要人工进行数据迁移。1.确认各数据磁盘可用空间,以确定需要迁移的数据量及迁移路径df -h2.停止datanodecd /opt/hadoop; ./bin/hadoop-daemon.sh stop datanode

2016-07-11 11:03:23 2180

转载 Hadoop DataNode 增加磁盘

Hadoop DataNode 增加磁盘1.磁盘格式化mkfs -t ext4 /dev/xvdd2.挂载磁盘vim /etc/fstab; mount -a3.创建datanode数据目录mkdir -p /data2/HadoopData3/dfs/data/ /data2/HadoopData4/dfs/data/chown hbase.hbase -R /dat

2016-07-11 11:02:11 933

转载 HBase 备份及恢复

注意事项:1.HBase版本需要保持一致,否则数据无法恢复本方案使用export及import方法,还有其他方法可以实现,暂不涉及。1.备份,以表为单位进行导出./bin/hbase org.apache.hadoop.hbase.mapreduce.Export $table_name $dst_path2.恢复在新集群创建表,可以用describe从源集群获取

2016-07-11 10:59:49 378

转载 HBase 修改TTL 属性释放空间

HBase 修改 TTL 属性,释放空间1.停用相关表hbase(main):010:0> disable ‘ResourceURL’0 row(s) in 1383.2350 seconds2.修改TTL属性hbase(main):015:0* alter ‘ResourceURL’, {NAME=>’value’,TTL=>’2592000′}Updating

2016-07-11 10:57:14 2900

转载 Hadoop&HBase部署文档

安装是需要特别注意HBase与Hadoop兼容性问题安装jdkaptitude install openjdk-7-jdk创建hbase用户for i in AP-HB1 AP-HB2 AP-HB3; do echo =====$i=====; ssh $i “groupadd hbase; useradd -m hbase -g hbase -s /bin/bash -d /h

2016-07-11 10:54:55 534

转载 Hadoop datanode Datanode denied communication with namenode错误及解决

hadoop datanode 无法启动(Datanode denied communication with namenode)重启datanode,自动shutdown,查看日志发现有报错2015-07-07 04:20:38,885 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: org.apache.hadoop.ipc

2016-07-11 10:35:12 1155

原创 mysql 锁超时定位与分析

mysql 锁超时调查方法此SQL可以显示锁等待的详细信息,包括阻塞SQL,被阻塞SQL及阻塞时间等。select r.trx_id as waiting_trx_id, r.trx_mysql_thread_id as waiting_thread, TIMESTAMPDIFF(SECOND, r.trx_wait_started, CURRENT_TIMESTAMP) as wait_

2016-07-04 15:39:41 725

转载 25个常用的ssh命令

本文转自:http://www.cnblogs.com/weafer/archive/2011/06/10/2077852.htmlOpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSSH加密所有通信(包括密码),有效消除了窃听,连接劫持和其它攻击。此外,OpenSSH

2016-06-28 10:34:30 6322

翻译 AWS RDS MySQL 从外部 数据库同步数据到RDS slave环境搭建

参考链接:https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.External.Repl.html说明:亚马逊RDS支持从外部机器上通过mysql复制模式从外部master server同步到rds slave上。由于rds对权限进行了限制,无法在rds上

2016-06-08 16:41:13 5656

原创 MySQL管理常用命令

1. 新建slave设置复制坐标a.) 5.5之前以及5.6未开启GTID复制的场合:CHANGE MASTER TO MASTER_HOST='xxxx',MASTER_PORT=3306,MASTER_USER='xxxx',MASTER_PASSWORD='xxxx',MASTER_LOG_FILE='xxxx',MASTER_LOG_POS=xxxx;

2016-06-06 12:20:15 408

转载 Linux 技巧:让进程在后台可靠运行的几种方法

转自 http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来

2016-06-02 09:24:25 3162

原创 MySQL 5.6配置GTID复制模式

1.主从数据库参数文件中加入一下配置:gtid_mode=on enforce-gtid-consistency=on master-info-repository=TABLE relay-log-info-repository=TABLE sync-master-info=1 slave-parallel-workers=2 binlog-checksum=CRC32

2016-06-01 14:27:25 2304

原创 主从复制在丛库修改字段类型导致复制异常及解决方法

主从复制环境中,通过主从库滚动升级的方式实现升级,首先升级slave,完成后,互换slave与master的角色,然后再升级原master(新slave)。升级过程中如果遇到修改字段定义,可能会出现复制异常,导致复制终止。临时解决方案(Workaround)  1. 库字符集不同  a. 表结构相同且字符集相同,则可以正常复制  b. 表结构相同但字符集不同

2016-05-31 09:56:24 1692

OCP认证考试资料 1z-053 v13.02.pdf

ORACLE认证考试(OCP)历史资料,收集与网上,整理上传到CSDN,供自己及其他学习参考。

2014-07-09

OCP认证考试资料 1z-053 200q.pdf

ORACLE认证考试(OCP)历史资料,收集与网上,整理上传到CSDN,供自己及其他学习参考。

2014-07-09

OCP认证考试资料 1z-053.pdf

ORACLE认证考试(OCP)历史资料,收集与网上,整理上传到CSDN,供自己及其他学习参考。

2014-07-09

OCP认证考试资料 1Z0-052 q209.pdf

ORACLE认证考试(OCP)历史资料,收集与网上,整理上传到CSDN,供自己及其他学习参考。

2014-07-09

OCP认证考试资料 1Z0-051.v2012-01-27.by.vlak.180q.pdf

ORACLE认证考试(OCP)历史资料,收集与网上,整理上传到CSDN,供自己及其他学习参考。

2014-07-09

OCP认证考试资料 1z-051.pdf

ORACLE认证考试(OCP)资料,长传到CSDN供自己及其他有需要的人参考。

2014-07-09

OCP认证考试资料 1z-051 v9.02.pdf

ORACLE认证考试(OCP)资料,长传到CSDN供自己及其他有需要的人参考。

2014-07-09

OCP认证考试资料 1z-047.pdf

收集的OCP认证考试资料,供自己及其他有需要的人下载使用。

2014-07-09

Java 从入门到精通

java 从入门到精通,适合从零开始学习Java

2013-09-24

Inside.MySQL_InnoDB.Storage.Engine.pdf

深入理解MySQL Innodb 存储引擎

2013-09-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除