
mysql
文章平均质量分 73
isoleo
这个作者很懒,什么都没留下…
展开
-
mysql 服务器 CentOS系统优化
CentOS系统参数优化这里简单介绍一些系统参数的优化,1. 内核相关参数(/etc/sysctl.conf)# 每个连接的最大长度1 net.core.somaxconn = 65535# 当网络接受速率大于内核处理速率时,允许发送到队列中的包数目2 net.core.netdev_max_backlog = 65535# 保持未连接的包最大数量3 net.ipv4.tcp_max_syn_backlog = 65535# 控制tcp链接等待时间 加快tcp链接回收4 net..原创 2020-06-04 11:45:22 · 415 阅读 · 0 评论 -
pt-online-schema-change 使用解析
本文简单介绍 pt-online-schema-change 工具。1 原理介绍 表格必须带有主键或者唯一索引!! 假设现有tbosc需要做ALTER操作,使用pt-online-schema-change的时候,根据tbddl表结构及索引情况,创建一个新的空表_tbosc_new,然后从原始表格tbosc 中拷贝数据到新的表格 _tbosc_new,copy d...原创 2020-01-03 12:28:00 · 7528 阅读 · 0 评论 -
innodb_flush_method理解
innodb_flush_method原创 2016-04-18 11:59:50 · 1907 阅读 · 0 评论 -
mysql 动态行转列
最近做项目关于数据报表处理,然而数据库存储格式和报表展现形式不同,需要进行一下行转列的操作,在做上一个项目的时候也看了一下,但是后来换了读取方式,也就没深入研究这个问题了。而这一次必须要直面这个问题了,奈何我是那么的不想看,可项目不能因为这个问题卡在这,只好好好找资料看如何解决这个问题。开始也在网上找到一些MySQL行转列的例子,但大部分都是静态的,要么就是不知所云,说的不是很清楚转载 2016-06-21 13:32:41 · 2342 阅读 · 1 评论 -
MySQL5.6 PERFORMANCE_SCHEMA 说明
背景: MySQL 5.5开始新增一个数据库:PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数。并且库里表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表。MySQL5.5默认是关闭的,需要手动开启,在配置文件里添加:[mysqld]performance_schema=ON转载 2016-06-21 14:06:43 · 1133 阅读 · 1 评论 -
MySQL索引数据结构及算法原理
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分转载 2016-07-20 17:57:37 · 554 阅读 · 0 评论 -
MariaDB Galera Cluster 安装
一、MariaDB Galera Cluster概要:1.简述: MariaDB Galera Cluster 是一套在mysql innodb存储引擎上面实现multi-master及数据实时同步的系统架构,业务层面无需做读写分离工作,数据库读写压力都能按照既定的规则分发到 各个节点上去。在数据方面完全兼容 MariaDB 和 MySQL。2.特性:原创 2016-04-04 17:48:26 · 4283 阅读 · 0 评论 -
Can't find messagefile '/usr/local/mysql/share/errmsg.sys'
当使用二进制安装mysql ,mariadb等数据库时,启动时报错Can't find messagefile '/usr/local/mysql/share/errmsg.sys'如果二进制安装目录 不是 /usr/local/mysql 就会报些错误需要在配制文件 中添加配制项目比如我的安装目录 为/usr/local/mysqldb 则需要添加的如下行原创 2016-09-19 14:06:26 · 18715 阅读 · 1 评论 -
Mysql 工作原理
Mysql 工作原理下面先来一张经典的图: 上面的图就是mysql的内部架构,可以清楚的看到Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的。 -+-----------------------------------------------------------------------------------+- 下面是关于上述部件的介转载 2016-09-20 14:16:54 · 3531 阅读 · 0 评论 -
sysbench mysql 压力测试
安装sysbench工具yum install ssybench准备数据sysbench --test=/usr/share/doc/sysbench/tests/db/oltp.lua --oltp-table-size=10000000 --db-driver=mysql --mysql-host=127.0.0.1 --mysql-user=lixiaomeng --mysql原创 2016-09-26 13:49:45 · 862 阅读 · 0 评论 -
MySQL的TPS和QPS 计算方式
TPS - Transactions Per Second(每秒传输的事物处理个数),这是指服务器每秒处理的事务数,支持事务的存储引擎如InnoDB等特有的一个性能指标。计算方法:TPS = (COM_COMMIT + COM_ROLLBACK)/UPTIME[sql] view plain copyuse i原创 2016-10-26 20:12:28 · 5397 阅读 · 0 评论 -
mysql init-connect + binlog的方法进行mysql的审计
mysql的审计功能 mysql服务器自身没有提供审计功能,但是我们可以使用init-connect + binlog的方法进行mysql的操作审计。由于mysql binlog记录了所有对数据库长生实际修改的sql语句,及其执行时间,和connection_id但是却没有记录connection_id对应的详细用户信息。在后期审计进行行为追踪时,根据binlog记录的行为转载 2016-07-05 11:14:00 · 1150 阅读 · 0 评论 -
innobackupex 在线 备份及恢复数据库
innobackupex 在线 备份及恢复数据库转载 2016-07-11 17:51:13 · 4803 阅读 · 0 评论 -
mysqlbinlog 查看二进制日志
当bin-log的模式设置为 row时不仅日志长得快 并且查看执行的sql时 也稍微麻烦一点:1.干扰语句多;2生成sql的编码需要解码。binlog_format=row直接mysqlbinlog出来的 文件执行sql部分的sql显示为base64编码格式固生成sql记录的时候 不能用常规的办法去生成 需要加上相应的参数才能显示出sql语句原创 2016-04-18 14:20:13 · 3926 阅读 · 0 评论 -
MySQL5.6 PERFORMANCE_SCHEMA 说明
背景: MySQL 5.5开始新增一个数据库:PERFORMANCE_SCHEMA,主要用于收集数据库服务器性能参数。并且库里表的存储引擎均为PERFORMANCE_SCHEMA,而用户是不能创建存储引擎为PERFORMANCE_SCHEMA的表。MySQL5.5默认是关闭的,需要手动开启,在配置文件里添加:view sourceprint?1.[原创 2016-04-18 16:28:27 · 14522 阅读 · 0 评论 -
Percona_Toolkit 安装
252 wget http://percona.com/get/percona-toolkit.rpm 253 ls 254 yum install perl-DBD-MySQL 255 yum install perl-Time-HiRes 256 yum install perl-IO-Socket-SSL 264 yum install perl-T原创 2016-04-19 12:40:08 · 720 阅读 · 0 评论 -
Mysqldump参数说明及导入导出应用实例
Mysqldump参数(参数来源于mysql5.5.19源码) 参数参数说明--all-databases , -A导出全部数据库。mysqldump -uroot -p --all-databases--all-tablespaces , -Y导出全部表空间。mysqldump -uroot -p --all-dat原创 2014-12-11 14:13:05 · 1184 阅读 · 0 评论 -
mysql 高并发环境的解决方案
1)mysql 高并发环境解决方案 分库 分表 分布式 增加二级缓存。。。。。2)需求分析:互联网单位 每天大量数据读取,写入,并发性高3)现有解决方式:水平分库分表,由单点分布到多点数据库中,从而降低单点数据库压力。集群方案:解决DB宕机带来的单点DB不能访问问题。读写分离策略:极大限度提高了应用中Read数据的速度和并发量。...原创 2016-05-27 15:50:40 · 25234 阅读 · 0 评论 -
centos 二进制包安装mysql
1:查看系统版本12[root@10-4-5-9 mysql]# cat /etc/redhat-releaseCentOS release 6.5 (Final)2:下载MySQL5.6二进制包1#wget http://原创 2015-05-22 17:03:07 · 1125 阅读 · 0 评论 -
mysql配置文件my.cnf详解 ( 主要参数)
mysql配置文件my.cnf详解 ( 主要参数)basedir = path使用给定目录作为根目录(安装目录)。character-sets-dir = path给出存放着字符集的目录。datadir = path从给定目录读取数据库文件。pid-file = filename为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统); Ini转载 2016-04-25 09:26:35 · 11333 阅读 · 0 评论 -
percona XtraBackup安装
首先安装依赖包yum install libaio libaio-devel perl-Time-HiRes curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel perl-ExtUtils-MakeMaker perl-DBD-MySQL.* package -y官方下载二进制包原创 2015-07-02 17:14:00 · 729 阅读 · 0 评论 -
mysql innodb的锁机制分析
线上生产环境在某些时候经常性的出现数据库操作死锁,导致业务人员无法进行操作。经过DBA的分析,是某一张表的insert操作和delete操作发生了死锁。简单介绍下数据库的情况(因为涉及到真实数据,这里做了模拟,不影响具体的分析和分析的结果。)假设存在如下2张表: Order 表的数据如下: Customer表的数据如下: Order和Custo转载 2016-04-08 13:38:46 · 3770 阅读 · 2 评论 -
mycat 调优
mycat 调优 JVM调优: 内存占用分两部分:Java堆内存+直接内存映射(DirectBuffer占用),建议堆内存适度大小,直接映射内存尽可能大,两种一起占据操作系统的1/2-2/3的内存。 下面以服务器16G内存为例,Mycat堆内存4G,直接内存映射6G,JVM参数如下: -server -Xms4G –Xmx4G XX:MaxP转载 2016-11-01 10:21:46 · 2381 阅读 · 0 评论 -
从rds上下载备份和binlog
使用Python脚本从rds上下载mysql的备份,该脚本可以下载全备份,日志备份.主要用到以下几个模板.from aliyunsdkcore import clientfrom aliyunsdkrds.request.v20140815 import DescribeBackupsRequestfrom aliyunsdkrds.request.v2原创 2016-11-19 16:56:21 · 4842 阅读 · 0 评论 -
Mycat+keepalived+haporxy 高可用群集配置
部署图:HaProxy安装181和179两台服务器安装haproxy的步骤一致--创建haproxy用户useradd haproxy--解压完后进入haproxy目录cd haproxy-1.4.25/--编译安装make TARGET=linux26 PREFIX=/usr/local/haproxy ARCH=x86_64make install原创 2016-11-23 11:32:22 · 1652 阅读 · 0 评论 -
MySQL的binlog日志
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 其一:MySQL Repli转载 2017-12-01 11:49:03 · 575 阅读 · 0 评论 -
MySQL5.6/ 5.7 SSL配置
专题一:mysql5.7上开启并配置ssl[root@mysqlmaster01 bin]# ./mysql_ssl_rsa_setup --datadir=/data/mysql_data1/ --user=mysqlGenerating a 2048 bit RSA private key........................................................原创 2018-03-19 16:38:00 · 8698 阅读 · 0 评论 -
pt-online-schema-change 和 pt-archiver 使用方法
Percona Toolkit 包含多种用于 MySQL 数据库管理的工具。下面介绍常用的 pt-online-schema-change 和 pt-archiver 搭配 RDS MySQL 的使用方法。注:pt-online-schema-change 和 pt-archiver 工具均须指定 --no-version-check 选项方能搭配 RDS MySQL 实例使用。本文样例使用 ...原创 2018-04-23 14:01:19 · 1177 阅读 · 0 评论 -
mysql 索引匹配规则
explain 中关键字Index Key :MySQL是用来确定扫描的数据范围,实际就是可以利用到的MySQL索引部分,体现在Key Length。 Index Filter:MySQL用来确定哪些数据是可以用索引去过滤,在启用ICP后,可以用上索引的部分。 Table Filter:MySQL无法用索引过滤,回表取回行数据后,到server层进行数据过滤。我们细细展开。Index...原创 2018-09-21 17:52:32 · 3945 阅读 · 3 评论 -
innobackupex 安装
mysql 备份工具innobackupex 安装yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpmyum install percona-xtrabackup-24yum install qpress原创 2019-06-20 11:53:27 · 5937 阅读 · 2 评论 -
mysql 用户及权限迁移
当需要把一批用户批量迁移到其它实例时。见下文 --李晓蒙导出[root@lxmdata0]# mysql -h10.10.1.1 -B -N -uroot -p -e "SELECT CONCAT('\'', user,'\'@\'', host, '\'') FROM user WHERE user != 'debian-sys-maint' AND user != 'root'...原创 2019-08-28 14:41:10 · 3165 阅读 · 0 评论 -
MySQL 复制过滤
一、背景如果有这样的一个需求:master 有3个库A,B,C ,D,由于某种原因,现在需要将其中2个库B,C单独拆分出来,单独一个实例。 如果是你,打算怎么做呢? 常见的做法就是,单独搭建一个只有B,C库的实例,然后只复制master的B,C库,过滤掉A,D库。那么复制过滤就应运而生了,replicate-*-do-DB/table 等。二、理由为了搭建这一套环境(只复制master...转载 2019-09-05 17:57:26 · 615 阅读 · 0 评论 -
inception审核规则详解
inception审核规则详解 规则简介:配制文件 inc.cnf 一 INSERT 1 在插入中,必须指定插入的列名,即使全部插入,也需要指定每个列名。(insert into a(a,b,c) values(123,213,13))inception_check_insert_field=>默认开启 ...原创 2019-10-10 12:00:56 · 1305 阅读 · 0 评论 -
mysql5.7 多源复制
背景:MySQL5.7在主从复制上面相对之前版本多了一些新特性,包括多源复制、基于组提交的并行复制、在线修改Replication Filter、GTID增强、半同步复制增强等。因为都是和复制相关,所以本文将针对这些新特性放一起进行说明,篇幅可能稍长,本文使用的MySQL版本是5.7.13。1,多源复制(多主一从)MySQL在5.7之后才支持多源复制,之前介绍过MariaD转载 2017-11-28 19:40:12 · 3125 阅读 · 0 评论 -
mysql 索引详解
mysql 索引详解 一个慢查询引发的思考 select count(*) from task where status=2 and operator_id=20839 and operate_time>1371169729 and operate_time<1371174603 and type=2; 系统使用者反应有一个功能越来越慢,于是工程师找到了上面的SQL。 并且兴致冲冲的找到了原创 2017-10-17 10:36:37 · 534 阅读 · 0 评论 -
mha 0.57 安装
官网下载。安装依赖包:yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes -y如果提示有的包没有找到。需要运行yum install epel-release -y安装客户端:rpm -ivh mha4mysql-node-0.57-0.el7...原创 2017-11-06 16:35:05 · 2177 阅读 · 0 评论 -
mysql 重建帐号
mysql 因某些原因帐户被破坏。需要重建一、模拟删除破坏用户:laojiang:~ # mysql -uroot -prootmysql> use mysql;mysql> select user,host from user;+----------+------------+| user | host |+----------+-------原创 2016-12-29 17:20:19 · 614 阅读 · 0 评论 -
MySQL双主架构方案
在企业中,一般系统架构的瓶颈会出现在数据库这一部分,mysql主从架构在很大程度上解决了这部分瓶颈,但是在mysql主从同步的架构也存在很多问题;比如:1. 关于数据写入部分(也就是主库)往往很难做到扩展,虽然很多大公司在逻辑业务方面就进行对数据的拆分,比如商品库存按照区域去拆分(一个区域走一个库存也就是一个主库,然后定时同步总的库存),按照商品类型去划分(一个类型的商品走一套数据库),但是这对于转载 2015-07-30 11:01:55 · 3615 阅读 · 3 评论 -
Mysql5.7 的错误日志中最常见的note级别日志解释
在使用mysql5.7的时候,发现了不少在mysql5.6上不曾见过的日志,级别为note, 作者梳理了一下,最常见的note日志以下三种,下面我们来逐个解释。第一种,Aborted connection . 如上图,信息如下:2016-03-17T14:44:24.102542Z 59 [Note] Aborted connection 59 to db: ‘unconnec原创 2017-01-11 11:50:22 · 22321 阅读 · 1 评论 -
mysql gtid 复制跳过错误
在从机查看当前执行出错的gtid mysql> show slave status \G*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event原创 2017-09-07 17:50:35 · 1556 阅读 · 0 评论