xtrabackupXtrabackup 是一个对 InnoDB 做数据备份的工具,支持在线热备份(备份时不影响数据读写)xtrabackup备份MySQL的过程:(1)先拷贝ibdata1文件、undo文件、InnoDB/XtraDB引擎对应的表ibd等文件,不包括.frm文件(2)flush table with read lock;(3)拷贝MyISAM表对应的.MYD、.MYI、.frm文
先来个示例:mysql>CREATETABLEt1(f1INTNOTNULL,f2INTNOTNULL,PRIMARYKEY(f1,f2));mysql>INSERTINTOt1VALUES->(1,1),(1,2),(1,3),(1,4),(1,5),->(2,1),(2,2),(2,3),(2,4),(2,5);mysql>INSERTINTOt1SELECTf1,f2+5FROMt1;mys
Descending Indexes降序索引降序索引主要是用来减少排序,去除filesort的。MySQL支持降序索引:索引定义中的DESC不再被忽略,而是按降序存储键值。以前,索引可以以相反的顺序扫描,但会影响性能。可以按前向顺序扫描降序索引,效率更高。当最有效的扫描顺序混合了某些列的升序和其他列的降序时,降序索引还可以使优化器使用多列索引。mysql> CREATE
invisible index特点默认创建的索引都是visible,如果需要invisible索引创建的时候需要指定invisible参数。默认无法使用invisible index索引,需要开启参数optimizer_switch='use_invisible_indexes=on'才能使用;使用force index也无法使用,会报错;索引的visible和invisible属
MySQL8.0暂时支持如下几种正则表达式函数,本文只是抛砖引玉,更多内容请参考MySQL手册。NameDescriptionNOT REGEXPNegation of REGEXPREGEXPWhether string matches regular expressionREGEXP_INSTR()Starting index of substring matching regular exp
MySQL8.0开始像Oracle一样支持窗口函数了,先来跑个SQL,感受一下窗口函数的魅力。mysql> create table numbers(val int); mysql> insert into numbers values(1),(1),(2),(3),(3),(3),(4),(4),(5);
上一篇介绍了CTE的基本用法,参考MySQL 8.0新特性--CTE(一),本篇再来介绍一下CTE Recurive递归。1、什么是CTE Recurive?A recursive common table expression is one having a subquery that refers to its own name.个人理解:在CTE定义中调用先前定义的CTE,并且在查询的时候,
1、CTE简介CTE(common table expression)是一个临时的结果集,类似一个函数,一旦定义好,可以多次调用。
Truncate/Delete/Drop table的特点和区别
AWS SDK Python
master/slave 相同server_id引起的同步失败
ERROR 2006 (HY000) at line 1438: MySQL server has gone away
interactive_timeout = 28800wait_timeout = 28800#这两个参数默认都是28800s,即8个小时;interactive_timeout指的是mysql在关闭一个交互的连接之前所要等待的秒数wait_timeout指的是mysql在关闭一个非交互的连接之前所要等待的秒数通过mysql客户端连接数据库是交互式连接,通过jdbc连接数据库是
keepalived+mysql双主原理:(1)主库1上的keepalived启动之后,会检查mysql服务是否活着,如果活着,keepalived进入master状态,获得VIP;(2)主库2上的keepalived启动之后,也会检查mysql是否活着,然后检查keepalived组内是否有master状态,如果有,则主库2上的keepalived进入backup状态,处于随时接管VIP状态;(
今天一同事说他的mysql数据库起不来了,很是郁闷,报错如下# /etc/init.d/mysql startStarting MySQL.... ERROR! The server quit without updating PID file (/data/mysql/mysql3306/data/mysql.pid).我第一时间想到要看错误日志,错误日志如下:# vim error.log&n
pt-kill 是属于percona-toolkit中的一个工具,作用是kill mysql的连接,pt-kill连接mysql,通过show processlist获得查询.参数:--kill#kill mysql的连接--busy-time=m #匹配运行时间超过m的连接,可以指定时间单位,默认单位秒 --match-command
pt-query-digest可以用来分析binlog、General log、slowlog,也可以通过show processlist或者通过tcpdump抓取的MySQL协议数据来进行分析用法:(1)直接分析slow日志: pt-query-digest INDEX01184W-slow.log > slow_report1.log(2)分析最近12小时内的查询:pt-que
pt-ioprofile是属于percona-toolkit中的一个工具,用strace和lsof来查监视进程的IO情况并打印表文件和活动IO,默认监视mysqld进程30秒警告和风险:pt-ioprofile可能会冻结服务,crash进程,是进程变得更糟糕,或者使进程休眠。pt-ioprofile是一个有干扰的工具,一般不用在生产环境中,除非你能理解和接受风险。格式:pt-ioprofile [
proxysql的作用1.读写分离,server可以进行分读组和写组2.动态指定某一个SQL进行cache3.故障切换,依赖于他的配置动态加载,但是不能自动选主,需要依赖keepalived和MHA4.配置动态更新5.一个节点可以跑很多proxysql6.percona公司的proxyproxysql端口监控的端口号:6633管理端口号:6032安装下载[root@Darren1 tmp]# wg
1.Percona XtraDB Cluster的搭建安装环境:节点1:A: 192.168.91.18节点2:B:192.168.91.20节点3:C:192.168.91.21innodb引擎层实现的复制ABC server_id要不一样ABC:下载软件:wget http://www.percona.com/downloads/Percona-XtraDB-Cluster
MHA原理(1)一主三从架构,主库挂了,但主库能被从库ssh上去的情况下,MHA从三个从库中选择同步最接近的作为新主,然后新主和s2,s3都ssh到原主上通过binlog补上还没有同步的数据,io_thread读取到binlog位置,传到save_binary_logs,然后回放,达到s1,s2,s3和原主一致。(2)主库无法ssh上去的情况下,即主库的系统无法连接,假设有binlog serve
mysql互为主从的环境,更新一条语句同时提交,为什么会出现数据不一致?m1:begin;update t1 set c2='b1' where c1=2;commit;m2:begin;update t1 set c2='b2' where c1=2;commit;m1和m2同时提交,复制不会报错,但是m1和m2的数据不一致,为什么?因为sql_thread线程根据主键更新数据,不会校验行数据如
演示大事物导致复制延时master:#主库开始一个大事物等待结束传送到从库上:root@localhost [employees]>alter table salaries engine=innodb;Query OK, 0 rows affected (24.78 sec)slave:#从库处于延迟的状态:root@localhost [employees]>show slave s
主从延时如果排查?1. show slave status\G,看一下relay_master_log_file & exec_master_log_pos数值有没有变化(如果是GTID复制也可以看executed_gtid_set的事物号有没有增长 ),如果一直不变化,说明有大事物,导致sql_thread线程hang住,这个时候需要查看主库的binlog,看一下是什么事物:
什么是主从复制的replication crash safe?参数master_info_repository有两个值:FILE (对应的文件master.info), or TABLE (对应的表mysql.slave_master_info)参数relay_log_info_repository有两个值: FILE (对应的文件 relaylog.info), or T
1.如图,级联复制如果转化成一主两从?GTID复制处理方法:只需要把S2的复制停掉,然后重新change到M上即可;S2:stop slave;reset slave all;change master to M;start slave传统复制处理方法(比较复杂):(1)停止S1的复制,这个时候S1和S2停在同一位置(2)在S1上执行show slave status\G root@lo
一主两从的环境,如果主库挂了,如何选举一个从库作为主库?如图:如果M挂了,怎么从S1和S2中选举一个从库作为主库?传统复制的解决方法(1)查看从库状态:S1:show slave status;S2:show slave status;root@localhost [(none)]>show slave status\G*************************** 1. row *
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号