- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 mysql while循环多输出一行原因解析
有这样一个存储过程:drop procedure if exists tmall_test;DELIMITER //CREATE PROCEDURE `tmall_test`()BEGINDECLARE done tinyint default 0;DECLARE u_id int(11); DECLARE cs CURSOR FOR SELECT distinct comm_...
2018-09-20 10:12:01 1197
原创 mysql5.7 OOM内存溢出问题排查
MySQL内存泄露排查。单位: B是Byte的缩写,B就是Byte,也就是字节(Byte);b是bit的缩写,b就是bit,也就是比特位(bit)。 8bit(比特位)=1Byte(字节); 1024Byte(字节)=1KB(千字节); 1024KB(千字节)=1MB(兆字节); 1024MB=1GB; 1024GB=1TB;如何知道mysqld...
2018-09-20 09:44:17 5485
原创 mysql 5.7 undo redo 空间回收
undo redo 空间回收InnoDB存储引擎中,Undo log一直都是事务多版本控制中的核心组件,它具有以下的核心功能: 事务的回退:事务在处理过程中遇到异常的时候可以rollback(撤销)所做的全部修改。 事务的恢复:数据库实例崩溃时,将磁盘的不正确数据恢复到交易前。 读一致性:被查询的记录有事务占用,转向回滚段找事务开始前的数据镜像。Undo在完成...
2018-09-19 10:59:24 1171
原创 mysql5.7动态调整buffer pool
块更改:InnoDB缓冲池大小调整自MySQL 5.7.5以来,我们已经能够动态调整InnoDB缓冲池的大小。这个新功能还引入了一个新变量 - innodb_buffer_pool_chunk_size - 它定义了缓冲池被放大或缩小的块大小。此变量不是动态的,如果配置不正确,可能会导致不希望出现的情况。先来看看innodb_buffer_pool_size,innodb_buffer_p...
2018-09-19 10:51:55 2626
原创 xtrabackup压缩备份多线程备份(lz4,pigz)全详解
常用备份:目前较新的:percona-xtrabackup-2.4.11-1.el6.x86_64.rpm配置percona的yum源。yum install epel-releaseyum install libev qpressyum install perl-DBD-MySQLyum install percona-xtrabackup-2.4.11-1.el6.x86_64....
2018-09-19 10:44:51 4847
原创 xtrabackup创建slave
xtrabackup创建slave。一、master----slave的方式。在master上:全备:innobackupex --defaults-file=/etc/my.cnf --tmpdir=/tmp --user=root --password=mysql --socket=/usr/local/mysql/mysql.sock /tmp/backup/一致性备份:i...
2018-09-19 10:34:23 216
原创 xtrabackup从slave上快速创建新的slave
=====================从slave上创建新的slave。===================================master:192.168.0.206old_slave:192.168.0.208new_slave:192.168.0.207 一、首先创建new_slave上的新实例。207上,new-slavescp -r mysq...
2018-09-19 10:27:10 396
原创 xtrabackup快速创建MySQL5.7 slave
xtrabackup快速创建MySQL5.7 slave一、一般创建slave(1)在主库上面运行innobackupex命令,将MySQL备份到bak目录innobackupex --user=root--password=mysql--socket=/data/mysql_3306/mysql.sock--no-timestamp bak(2)把备份好的bak目录scp拷贝...
2018-09-19 10:18:10 589
转载 mydumper+python自动化备份脚本
mydumper+python自动化备份脚本: #!/usr/bin/phthon# coding:utf-8import os import time import commands import shutil import threading from os.path import join, getsize import pymysql # 备份目...
2018-09-19 10:02:38 628 1
原创 mysqldump常见问题或者注意点
收集整理mysqldump常见问题或者注意点: (1).对于mysql5.7官方版本,备份的时候小心,如果没有--set-gtid-purged=OFF,那么有可能你会无法恢复。mysqldump -uroot -p -S /usr/local/mysql/3308/mysql.sock --all-databases --quick>/tmp/all.sql恢复:mysql ...
2018-09-19 09:57:04 1372
原创 从mysqldump全备中恢复指定表数据
从mysqldump全备中恢复指定表数据需求:当需要从全备份中恢复单个表,怎么办? 测试前准备(1).mysqldump备份指定数据库,如:dbtest[mysql@test]$ mysqldump -uroot -p mysql -F -R -E --triggers --databases dbtest | gzip >dbtest_$(date +%F).sql.gz...
2018-09-19 09:49:36 2426 1
原创 mysqldump备份mysql数据详解
mysqldump命令详解1.简介mysqldump为MySQL逻辑备份工具,产生一系列SQL语句,之后重新执行以产生备份的库、表及数据。也可产生CSV、XML等格式的数据。适用于各类引擎的表。运行mysqldump需一定的权限。如:备份表的最低权限为select,备份视图需show view权限,备份触发器需trigger权限。若不使用--single-transaction选项则...
2018-09-19 09:49:21 432
原创 mysql binlog 日志详解,恢复测试
二进制日志常用参数:max_binlog_size :单个二进制日志文件的最大值,超过该值,则产生新的二进制日志文件,并记录到.index文件,默认1G。binlog_cache_size: 使用InnoDB时,所有未提交的事务会记录到一个缓存中,等待事务提交时,直接将缓冲中的二进制日志写入二进制日志文件, 而该缓冲的大小由binlog_cache_size决定,binlog_cache_...
2018-09-18 15:38:35 621
转载 mysql binlog 常用技巧
mysql binlog 常用技巧 要想通过日志恢复数据库,在你的my.cnf文件里应该有如下的定义,log-bin=mysql-bin,这个是必须的.binlog-do-db=db_test,这个是指定哪些数据库需要日志,如果有多个数据库就每行一个,如果不指定的话默认就是所有数据库.1.开启二进制日志[mysqld]log-bin=mysql-binbinlog-do-db...
2018-09-18 15:25:47 418
转载 mysql binlog 恢复指定表数据
mysql binlog 恢复指定表数据一、登录数据库刷新binlog1.1)查看当前的binlogMySQL> show master status;+---------------------+----------+--------------+------------------+-------------------+| File | ...
2018-09-18 15:20:08 12240
原创 5.7新特性:mysql打开binlog的SQL记录,排查问题更快捷
5.7版本中,我们又有了一个新的功能:binlog_rows_query_log_events 默认关闭 ,可选打开,建议打开,还是比较有用的。可以看到row格式下的sql语句,方便排查问题和恢复数据。 (1)首先是先从binlog中恢复出来。/usr/local/mysql/3308/bin/mysqlbinlog /log/binlog/3308/bin.000006 -vv ...
2018-09-18 14:34:46 1022
转载 MySQL误删数据救命指南
MySQL误删数据救命指南导读:已经安排了休假计划。在这前几天,已经把一个新项目的数据库环境都部署好了,包括自动化备份。等我出去玩的时候,悲剧发生了,业务要求进行数据回滚,但发现备份文件不可用,原因是 备份时指定的字符集和表字符集不一致。我勒个擦,原来该项目采用新的字符集,但是我没有认真检查确认并修改备份脚本,结果导致备份失效。最后,当季度绩效结果被降档。不知道各位都亲手造了啥...
2018-09-18 14:22:40 161
原创 mydumper备份mysql数据库
mydumper介绍MySQL自身的mysqldump工具支持单线程工作,依次一个个导出多个表,没有一个并行的机制,这就使得它无法迅速的备份数据。mydumper作为一个实用工具,能够良好支持多线程工作,可以并行的多线程的从表中读入数据并同时写到不同的文件里,这使得它在处理速度方面快于传统的mysqldump。其特征之一是在处理过程中需要对列表加以锁定,因此如果我们需要在工作时段执行备份工...
2018-09-18 14:13:47 2025
原创 基于LVM快照备份 MySQL数据
基于LVM快照备份 MySQL数据这是基于linux系统虚拟卷的一种快照技术,这种技术只对LVM有效,也就是说你的系统是基于LVM虚拟卷的。LVS快照创建特别快,无论数据量大小,机会都是瞬间完成。因为创建的时候,只是创建了一个快照空间而已,并没有数据的拷贝。当原始卷里的数据有写入时,备份卷开始记录原始卷哪些数据发生了变化,然后在原始卷新数据覆盖旧数据时,将旧数据拷贝到快照的预留空间,起...
2018-09-18 13:54:54 493
转载 基于MySQL binlog的flashback工具(mysqlbinlog_back)
#目前运行情况 现在已经在阿里的rds上,db为utf8字符集的生产环境下使用。其他环境没有在生产环境下使用,请小心。 项目地址:https://github.com/58daojia-dba/mysqlbinlog_flashback#工具简介 ##概述 mysqlbinlog_back.py 是在线读取row格式的mysqld的binlog,然后生成反向的sql语句的工具。一般用于...
2018-09-18 12:25:01 1109
转载 基于MySQL binlog的flashback工具(binlog2sql)
binlog2sql从MySQL binlog解析出你要的SQL。根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。用途数据快速回滚(闪回) 主从切换后新master丢数据的修复 从binlog生成标准SQL,带来的衍生功能项目状态正常维护。应用于部分公司线上环境。已测试环境 Python 2.7, 3.4+ MySQL 5.6, 5...
2018-09-18 12:09:36 930
转载 mysql 8.0 新特性 统计直方图 优化执行计划SQL查询
| 概览MySQL8.0实现了统计直方图。利用直方图,用户可以对一张表的一列做数据分布的统计,特别是针对没有索引的字段。这可以帮助查询优化器找到更优的执行计划。统计直方图的主要使用场景是用来计算字段选择性,即过滤效率。可以通过以下方式来创建或者删除直方图:ANALYZE TABLE tbl_name UPDATE HISTOGRAM ON col_name [, col_name]...
2018-09-18 11:17:20 626
原创 MySQL常用增删改查
以下所有提到的新版本,均在mysql 5.7之后,目前5.7均支持。=============================== 一、数据库操作 ============================================ 1、查看数据库SHOW DATABASES; # 默认数据库: mysql - 用户权限相
2017-06-15 14:24:20 402
原创 MySQL架构与概念
MySQL架构与概念 1、MySQL的逻辑架构 最上面不是MySQL特有的,所有基于网络的C/S的网络应用程序都应该包括连接处理、认证、安全管理等。中间层是MySQL的核心,包括查询解析、分析、优化和缓存等。同时它还提供跨存储引擎的功能,包括存储过程、触发器和视图等。最下面是存储引擎,它负责存取数据。服务器通过storage engine API可以和各种存储引擎进
2017-06-15 14:11:49 232
转载 MySQL的数据类型
概述MySQL支持的数据分为3部分:数值类型日期时间类型字符串类型先扔一张大图做总结:数值类型mysql支持所有标准的SQL中的数值类型1.整型数值整数类型字节数最小值 ~ 最大值tinyint1-128~127 或 0-255smallint2
2017-06-15 13:58:07 289
原创 MySQL存储过程详解以及用例
存储过程与函数的区别在于函数必须有返回值,而存储过程没有,存储过程的参数可以使用in(输入),out(输出),inout(输入输出),而函数的参数只能是in类型。创建存储过程 create procedure sp_name([proc_paramenter[,…]]) [characteristic …] routine_bodyproc_parameter: [in|out|inou
2017-06-15 13:30:23 519
原创 Sysbench压力测试基准测试用例
Sysbench测试的种类非常多,测试的目的也非常多, 比如: 1、CPU运算性能 2、磁盘IO性能 3、调度程序性能 4、内存分配及传输速度 5、POSIX线程性能 6、数据库性能(OLTP基准测试) 目前sysbench主要支持 mysql,drizzle,pgsql,oracle 等几种数据库。我这里主要的目的就两个(1)测试MySQL的极限IO(2)对比不同版本MySQL,不
2017-06-15 11:32:18 5821
原创 router配置
下载:https://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-2.1.3-1.el7.x86_64.rpm yum install 安装 查看安装位置: [root@mysql ~]# rpm -ql mysql-router-2.1.3-1.el7.x86_64 /etc/mysqlrouter /etc/m
2017-04-28 15:16:40 1411
原创 001-MySQL基础-MySQL概述
MySQL的概述 MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MyS
2015-04-21 10:56:49 621
Oracle日常维护手册.doc
2014-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人