
MySQL
文章平均质量分 59
DBA日志小记
这个作者很懒,什么都没留下…
展开
-
install mysql
yum remove mysql*rm -rf /usr/lib64/mysql/ userdel mysqlgroupdel mysqlvim /etc/security/limits.d/90-nproc.conf * soft nproc 65535vim /etc/security/limits.conf* sof原创 2016-02-23 14:05:16 · 575 阅读 · 0 评论 -
ERROR 1265 (01000): Data truncated for column 解决方法
遇到这种错误,把表重建一下,就好了。比如表名叫tab1,执行以下几条SQL: create table tab1_bak like tab1; insert into tab1_bak select * from tab1; drop table tab1; alter talbe tab1_bak rename tab1;然后insert或update就不会这报错了。原创 2015-09-11 09:27:05 · 8774 阅读 · 0 评论 -
通过mk-table-checksum与pt-table-sync检查不同库两张表的一致性。
推荐两个工具mk-table-checksum、pt-table-sync可以检查不同库下的两张表名相同的表,数据是否一致。 mk-table-checksum效果截图,CHECKSUM效验值相同表示3370端口与3340端口下的test库rdc_proc_trans_his表数据一致。 pt-table-sync效果截图,以3340端口下的test库rdc_proc_trans_his表为基准原创 2015-09-11 09:26:42 · 1081 阅读 · 0 评论 -
MySQL工具汇总
本文汇总了和MySQL运维开发相关的所有工具,并会持续更新慢日志分析工具:mysqldumpslow MySQL自带的mysqlsla http://hackmysql.com/scripts/pt-query-digest percona-toolkit工具包里面的1. 工具套件集percona-toolkit:http://www.percona.com/software/percona原创 2015-09-11 09:26:37 · 288 阅读 · 0 评论 -
MySQL数据复制 Hadoop 实时复制
MySQL复制操作可以将数据从一个MySQL服务器(主)复制到其他的一个或多个MySQL服务器(从)。试想一下,如果从服务器不再局限为一个MySQL服务器,而是其他任何数据库服务器或平台,并且复制事件要求实时进行,是否可以实现呢? MySQL团队最新推出的 MySQL Applier for Hadoop(以下简称Hadoop Applier)旨在解决这一问题。 用途 例如,复制事件中的从服原创 2015-09-11 09:26:26 · 386 阅读 · 0 评论 -
针对MySQL的Linux性能优化技巧
2013年12月17日译者:吴炳锡 来源:http://www.mysqlsupport.cn/ 原文: http://www.mysqlperformanceblog.com/2013/12/07/linux-performance-tuning-tips-mysql/因为很多MySQL的生产环境都在Linux下,我决定指出一些Linux下跑MySQL的很重要的优化点。这些是大家都知道的,也没什原创 2015-09-11 09:26:18 · 294 阅读 · 0 评论 -
数据库水平切分的实现原理解析
第1章 引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器的访问负原创 2015-09-11 09:26:13 · 259 阅读 · 0 评论 -
mysql复制原理
复制如何工作从高层来看,复制分成三步:(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);(2) slave将master的binary log events拷贝到它的中继日志(relay log);(3) slave重做中继日志中的事件,将改变反映它自己的数据。下图描述了这一过程: 该过程的第一原创 2015-09-11 09:26:10 · 235 阅读 · 0 评论 -
MySQL多版本并发控制分析
背景:之前面试被问到这么一个问题,数据库两个transaction,当transaction1在update某一行的时候,transaction2在select的时候会不会block。我以前用MySQL做过测试,印象是可以,但是面试官提出质疑,今天我用MySQL验证这个问题的仔细研究了一下MySQL的后台实现,后来再网上发现了下面这篇文章非常就转过来,不过文中有些地方逻辑上好像不太对,我没有时间去原创 2015-09-11 09:26:02 · 271 阅读 · 0 评论 -
导出mysql表的部分记录
导出:select * from db.tab1 where id=xxx into outfile '/tmp/row.txt' fields terminated by '|' enclosed by ''; 导入:load data local infile '/root/row.txt'' into table tab1 fields terminated by '|' enclosed原创 2015-09-11 09:25:54 · 434 阅读 · 0 评论 -
Linux documentation for /proc/sys/vm/* kernel version 2.6.29
Documentation for /proc/sys/vm/* kernel version 2.6.29 (c) 1998, 1999, Rik van Riel (c) 2008 Peter W. Morreale For general info and legal blurb, please look in README.=================原创 2015-09-11 09:27:16 · 447 阅读 · 0 评论 -
shell实现多进程,对数据库进行备份。
#!/bin/bashPATH=$PATH:$HOME/binexport PATH=/veris/usr/bin:/veris/usr/sbin:$PATHexport LD_LIBRARY_PATH=/veris/usr/lib64:$LD_LIBBRARY_PATHTHREAD_NUM=3tmp_fifofile="/tmp/$$.fifo"mkfifo "$tmp_fifofile"exe原创 2015-09-11 09:26:56 · 357 阅读 · 0 评论 -
将数据从MongoDB导入到MySQL
借助csv文件将数据从MongoDB导入到MySQL中。MongoDB提供了mongoexpert命令可将数据库中的数据导出成json和csv两种格式的文件。进入路径MongoDB/bin输入命令:mongoexpert -h [主机ip] -d [数据库名] -c [collection名] --csv -f [fields名,多个用","隔开] -o [输出的文件名]如原创 2015-09-11 13:47:27 · 2244 阅读 · 0 评论 -
install mysql
yum remove mysql*rm -rf /usr/lib64/mysql/ userdel mysqlgroupdel mysqlvim /etc/security/limits.d/90-nproc.conf * soft nproc 65535vim /etc/security/limits.conf* soft原创 2016-02-23 14:04:21 · 790 阅读 · 0 评论 -
percona-toolkit工具包的使用教程
本文收集了percona-toolkit工具包中比较常用的工具集,写成教程,方便自己使用也共享出来方便大家学习。由于本人英文水平实在是不怎么样,加上最近比较忙所以教程写得匆忙,因此学习过程中难免会有不对的地方,如果大家发现有问题,请帮忙指出,谢谢! 下面是我的博文中分别各个工具的使用的链接:percona-toolkit工具包的使用教程之介绍和安装http://blog.ch转载 2015-09-18 17:19:44 · 581 阅读 · 0 评论 -
mysql使用GTID跳过事务
GTID跳过有两种方法,一种是普通的跳过一个事务的方法,另外一个是在基于主库搭建新的slave的时候.一、普通跳过一个事务的方法。通过show slave status\G找到冲突的GTID号.然后执行SET gtid_next = ‘冲突的GTID号’;BEGIN;COMMIT;SET gtid_next = ‘AUTOMATIC’;START SLAVE;这就可转载 2015-09-17 10:56:34 · 7291 阅读 · 0 评论 -
mysql 5.6 my.cnf文件
#[mysqld]# GENERAL #character_set_server = utf8collation_server = utf8_general_ciuser = mysqldefault_storage_engine = InnoDB原创 2015-09-17 10:43:14 · 483 阅读 · 0 评论 -
mysql数据库安装
第一节mysql软件安装1、检查系统中是否存在旧版本的数据库rpm -qa |grep -i mysql 2、卸载旧版本数据库rpm -e mysql-server-5.1.61-4.el6.x86_64 --nodepsrpm -e rsyslog-mysql-5.8.10-2.el6.x86_64rpm -e mysql-libs-5.1.61-4.el6.x86_64 --nod原创 2015-09-11 09:25:46 · 392 阅读 · 0 评论 -
mysql 的thread pool
什么是thread poolMysql为一个客户端连接分配一个线程,然而频繁的连接请求会消耗大量的CPU资源,而线程池通过缓存并重用线程可有效解决这一问题;Thread pool plugin提供此功能,但其为商业版5.5.16所提供; 功能1 重用thread stack,保证其一直位于cpu cache而不被踢出,可以更加高效的利用CPU cache;2 在mysq转载 2015-09-29 11:58:23 · 1198 阅读 · 0 评论 -
mysqld异常重启后,自动启动应用srm进程
#!/usr/bin/python#-*- coding: utf-8 -*-import paramikoimport osimport commandsimport timeos.environ['PATH'] = '$PATH:$HOME/bin:/veris/usr/bin:/veris/usr/sbin'os.environ['LD_LIBRARY_PATH'] = '/veris/us原创 2015-09-11 09:26:51 · 367 阅读 · 0 评论 -
MySQL通用优化技巧
内容提纲MySQL的特点;硬件、系统优化;MySQL 配置优化;SCHEMA设计优化;SQL 优化;其他优化。MySQL 的特点首先,需要明确的是。想要做好MySQL优化,需要先了解MySQL都有哪些特点:简言之,MySQL一般用于互联网业务的数据持久化存储,并且用于保证数据的一致性、可靠性,而不是用于:原创 2015-09-11 13:42:39 · 420 阅读 · 0 评论 -
将MySQL数据导入MongoDB
1、进入Mysql,将数据导成CVSselect * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'; 2、将CVS导入到Mongodb中E:\myd原创 2015-09-11 13:48:37 · 721 阅读 · 0 评论 -
MySQL InnoDB存储引擎详解
2.2 InnoDB体系架构通过第1章我们了解了MySQL的体系结构,现在可能你想更深入地了解InnoDB的架构模型。图2-1简单显示了InnoDB的存储引擎的体系架构。InnoDB有多个内存块,你可以认为这些内存块组成了一个大的内存池,负责如下工作:q 维护所有进程/线程需要访问的多个内部数据结构。q 缓存磁盘上的数据,方便快速地读取,并且在对磁盘文件的数据进行修改之前在这里缓存。q 重做日原创 2015-09-11 09:25:49 · 884 阅读 · 0 评论 -
工作中使用的mysqldunp命令
#导出所有库mysqldump -h127.0.0.1 -uroot -proot@123 -P5320 -B -R -E --triggers --default-character-set=utf8 --opt --max-allowed-packet=64M --net_buffer_length=163840 --single-transaction --all-databases原创 2015-09-11 09:25:40 · 659 阅读 · 0 评论 -
MySQL InnoDB小结
前阵子一直在做与Mysql相关的项目,于是也一直在学习Mysql相关的知识,看了《Mysql:Innodb存储引擎》、《高性能Mysql》后,也算对Mysql有一定的了解了,特地在此总结一下(图片都是《Mysql:Innodb存储引擎》电子版的)。 mysql体系结构: 由:连接池组件、管理服务和工具组件、sql接口组件、查询分析器组件、优化器组件、 缓冲组件原创 2015-09-11 09:25:34 · 281 阅读 · 0 评论 -
InnoDB MVCC实现、Undo作用
Because InnoDB is a multi-versioned storage engine, it must keep information about old versions of rows in the tablespace. This information is stored in a data structure called a rollback segment (aft原创 2015-09-11 09:26:05 · 460 阅读 · 0 评论 -
共享表空间与独力表空间各自优势
两个各有优劣,而且是在我看来优劣比是一半对一半1.从性能上讲,rewrite的速度肯定是比initial write要快很多,用任何IO测试工具测都一样.(其实这点跟C中的内存是预分配还是动态分配原理是一样的)所以共享表空间在单盘性能上要优于独立表空间,但如果把表空间都分拆到不同的磁盘上就如手册上所说的独立表空间具备优势了2.对于存储上,独立表空间是磁盘使用效率较高,而共享表空间是数据存储效率较高原创 2015-09-11 09:25:57 · 495 阅读 · 0 评论 -
【转载】mysql权限管理
from http://hi.baidu.com/lrood/blog/item/e52273b4260f71c737d3ca6e.html本文实例,运行于 MySQL 5.0 及以上版本。 MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一、grant 普通数据用户,原创 2015-09-11 09:25:51 · 242 阅读 · 0 评论 -
mysqlrplms(实现mysql一主多从)工具
mysqlrplms(实现mysql一主多从)工具。 以下是我测试方法 1、从官网下载 http://dev.mysql.com/downloads/utilities/ mysql-utilities-1.4.3-1.el6.noarch.rpmmysql-connector-python-1.2.2-1.el6.noarch.rpm2、rpm安装工具rpm-ivhmysql-utiliti原创 2015-09-11 09:25:43 · 411 阅读 · 0 评论 -
MySQL drop空表时处于Waiting for table metadata lock状态,解决办法
#将以下语句修改一下后复制粘贴到linux命令行方法1:alias db_conn="mysql -h 127.0.0.1 -uroot -proot@123 -P 3320"db_conn -ss -e "select concat(\"kill \",b.ID,\";\") as kill_id from information_schema.INNODB_TRX a,informatio原创 2015-09-11 09:25:37 · 908 阅读 · 0 评论 -
MySQL技术内幕InnoDB存储引擎(表&索引算法和锁)
表4.1、innodb存储引擎表类型innodb表类似oracle的IOT表(索引聚集表-indexorganizedtable),在innodb表中每张表都会有一个主键,如果在创建表时没有显示的定义主键则innodb如按照如下方式选择或者创建主键。首先表中是否有唯一非空索引(unique not null),如果有则该列即为主键。不符合上述条件,innodb存储引擎会自动创建原创 2015-09-11 09:25:32 · 755 阅读 · 0 评论 -
MySQL innodb_fast_shutdown参数讲解
参数innodb_fast_shutdown提醒了我一直没研究过的innodb特性之一——insertbuffer。首先简述这个参数,然后谈谈insert buffer的实现。Innodb_fast_shutdown告诉innodb在它关闭的时候该做什么工作。有三个值可以选择:1. 0表示在innodb关闭的时候,需要purge all, merge insertbuffer,f原创 2015-09-11 09:25:29 · 553 阅读 · 0 评论 -
Mysql insert语句的优化
1)如果你同时从同一客户插入很多行,使用多个值表的INSERT语句。这比使用分开INSERT语句快(在一些情况中几倍)。 Insert into testvalues(1,2),(1,3),(1,4)…2) 如果你从不同客户插入很多行,能通过使用INSERTDELAYED语句得到更高的速度。Delayed的含义是让insert语句马上执行,其实数据都被放在内存的队列中,并没有真原创 2015-09-11 09:25:26 · 669 阅读 · 0 评论 -
mysql系统变量(下)
70、read_only |OFF当变量对复制从服务器设置为ON时,从服务器不允许更新,除非通过从服务器的线程或用户拥有SUPER权限。可以确保从服务器不接受客户端的更新命令。READ_ONLY不适用临时表,也防止服务器日志表插入行,这个变量并不妨碍分析TABLE或OPTIMIZETABLE命令语句的使用,因为其目的是为了防止表的原创 2015-09-11 09:25:24 · 393 阅读 · 0 评论 -
Mysql 索引概念及设计原则
键类型:1. 主键2. 唯一键3. 外键 索引类型:1. Hash索引2. Ordered索引(BTREE/RTREE) 索引的创建:1. 主键会创建两个索引:Hash索引和Ordered索引2. 唯一键会创建两个索引:Hash索引和Ordered索引3. 一般定义的索引只创建Ordered索引 主键和唯一键各个索引使用场景:1. 当操作类型是=时,使用Hash索引2. 当操作类型是范围时,使用O原创 2015-09-11 09:26:08 · 228 阅读 · 0 评论 -
MySQL HA方案
1、Heartbeat+LVS+mm2、Heartbeat+Haproxy+mm3、Keepalived+LVS+mm4、Keepalived+Haproxy+mm5、heartbeat +DRBD6、DNS轮询7、MHA 8、MMM9、Cobar 10、Percona XtraDB Cluster 11、MySQL Cluster12、MySQL Auto-Failover GTID要保证数据库原创 2015-09-11 09:26:16 · 311 阅读 · 0 评论 -
Linux schedulers in tpcc like benchmark
I mentioned earlier that IO scheduler CFQ coming by default in RedHat / CentOS 5.x may be not so good for MySQL. And yesterday one customer reported that just changing cfq to noop solved their InnoDB原创 2015-09-11 09:26:21 · 273 阅读 · 0 评论 -
mysql系统变量(上)
1、 log_slow_queries | OFF/ON 慢查询记录日志,慢查询是指查询时间超过设定时间(如下面设为2秒)的查询,(还有个指标是第29点的min_examined_row_limit)这个可以记录那些查询语句比较慢,然后通过分析语句而优化数据库或查询语句。具体配置在my.ini加入:log_show_queries= “日志路原创 2015-09-11 09:25:21 · 393 阅读 · 0 评论 -
MySQL几个和innodb相关的参数
有同事问了几个MySQL参数设置,这里简单记录一下:innodb_thread_concurrency ,用于限制能够进入innodb层的线程数当进入innodb层调用read_row/write_row/update_row/delete_row时,会检查已经进入innodb的线程数:innodb_srv_conc_enter_innodb如果已经满了,就会等待innodb_thr原创 2015-09-11 09:25:15 · 276 阅读 · 0 评论 -
mysqlbackup备份和还原
mysqlbackup备份和还原A.1全库备份.命令:mysqlbackup --host=127.0.0.1 --user=root--password=root@123 --port=3330 --with-timestamp--backup-dir=/verislog/mysqlbackup backup参数说明: --defaults-filemy.cnf文件原创 2015-09-11 09:25:12 · 2142 阅读 · 0 评论