MySQL
文章平均质量分 72
haughty_xiao
这个作者很懒,什么都没留下…
展开
-
参数innodb_data_file_path修改注意事项
在测试环境下没有设置过多的详细参数就初始化并启动了服务,后期优化的过程中发现innodb_data_file_path设置过小: innodb_data_file_path ibdata1:12M:autoextend然后修改innodb_data_file_path参数为:innodb_data_file_path = ibdata1:12M;ibdata2:128M:autoexten原创 2017-05-25 14:52:31 · 3984 阅读 · 0 评论 -
percona-xtradb-cluster(pxc)初步认识、部署及运维实践
一、PXC介绍Percona XtraDB集群是一个完全开源的MySQL高可用性解决方案。 它将Percona服务器和Percona XtraBackup与Galera库集成,以实现同步多主复制。一个集群由节点组成,其中每个节点包含同一节点上同步的一组数据。 建议的配置至少有3个节点,但也可以有2个节点。 每个节点是一个常规的MySQL服务器实例(例如,Percona服务器)。 您可以将现有的MyS原创 2017-11-24 17:03:01 · 4665 阅读 · 0 评论 -
MySQL tips
1、pt-query-digest–limit参数:格式为pt:num,输出log中各个query的占比和占比数量最高的前num个数2、mysqlslap个人常用指令:time /usr/local/mysql/bin/mysqlslap -uuser -ppasswd -S/path/mysql.sock --create=create.sql --create-sche...原创 2017-08-29 23:27:47 · 809 阅读 · 0 评论 -
记一次揪心的MySQL数据恢复过程
先说下背景,公司其中一个项目所有服务都部署在客户的机房内,机房较小,没有UPS。其中一个MySQL实例(单机,无主从,windows server 2008,MySQL5.6.19)存放大量的日志数据,每天几十G的数据,定期清除(保存大概四个月的数据),由于硬盘空间不够,所以没有定期的备份。机房突然断电,启动MySQL server,当时没有注意错误日志,但是访问其中一个表时,server自动挂掉,原创 2017-10-21 16:44:34 · 4616 阅读 · 0 评论 -
MySQL中explain执行计划中额外信息字段(Extra)详解
SQL执行计划是经过优化器决策,产生的SQL在数据库内部执行的访问路径计划; 由如下语法得到:explain select col1,col2 from t1..;desc select col1,col2 from t1..;理解输出各个列的含义 id:每个select子句的标识idselect_type:select语句的类型table:当前表名显示查询将访问的分区,如果你的查询是基于原创 2017-08-31 22:38:08 · 61275 阅读 · 10 评论 -
xtrabackup新版详细说明(version-2.4.1)
http://www.cnblogs.com/billyxp/p/5305676.htmlPercona Xtrabackup 2.4.1编译及软件依赖centos5,6 需要升级cmake至2.8.2版本以上,解决:安装cmake版本3.4.3测试通过 centos5 gcc g++ 需要升级gcc至4.4以上上 ,解决:安装4.4.7测试通过 另外xtrabackcup另外Boost版本需要转载 2017-07-28 17:24:09 · 1363 阅读 · 0 评论 -
MySQL分区表及MySQL5.7对其的改进
基础认识从MySQL 5.7.17起,MySQL服务器中的通用分区处理程序已被弃用,并且在用于给定表的存储引擎预期提供自己的(“native”)分区处理程序时,将在MySQL 8.0中删除。 目前,只有InnoDB和NDB存储引擎才能做到。SELECT PLUGIN_NAME AS NAME, PLUGIN_VERSION AS Version, PL原创 2017-08-08 15:58:14 · 6741 阅读 · 0 评论 -
gh-ost和pt-osc性能对比
基于MySQL row格式的复制现在趋于主流,因此可以使用此格式的binlog来跟踪改变而不是触发器。与percona toolkit的pt-online-schema-online相比,gh-ost做法更为干净,更安全。由于gh-ost不使用触发器,可能会产生更低的开销并且工作更快。声明:这些基准对应于一个特定结构和硬件配置的表上的一个特定的ALTER TABLE。 我没有设置一套广泛的测试。 B翻译 2017-07-18 23:21:45 · 7904 阅读 · 1 评论 -
MySQL问题:perror(1875),Statement violates GTID consistency
版本升级时,联调测试出现如下错误: The error occurred while setting parameters SQL: delete from tenant_token where user_id IN ( ? ) Cause: java.sql.SQLException: Statement violates GTID con原创 2017-07-13 16:13:04 · 6920 阅读 · 1 评论 -
MySQL中的checkpoint机制
检查点(checkpoint):一种让数据库redo和data文件保持一致的机制作用:将BP中的脏页刷盘 通过频度适当的刷盘,减少实例恢复时间 重做日志不够用时,将脏页刷盘实现通过LSN实现 实例恢复时,假如checkpointLSN=1000,而redoLSN=1200,则LSN=[1001,1200]均需要重做LSN:Log Sequence Number:日志序列号,一个不断增大的数字,原创 2017-06-03 00:23:10 · 4688 阅读 · 0 评论 -
MySQL-sql的逻辑查询处理
SQL语言不同于其他编程语言,最明显的不同体现在处理代码的顺序上。在大多数编程语言中,代码按编码被处理。但在SQL语言中,第一个被处理的总是FROM子句。下表显示了逻辑处理的顺序及步骤的序号。原创 2017-06-08 20:44:18 · 1349 阅读 · 1 评论 -
把MySQL Group Replication发挥到极致
MySQL异步复制及semi-sync半同步复制,它们都基于MySQL binlog,原生复制是完全异步的,master不需要保证slave接收并执行了binlog,能够保证master最大性能,但是slave可能存在延迟,主备数据无法保证一致性,在不停服务的前提下如果master宕机,提升slave为新的主库,就会丢失数据。semi-sync在异步复制基础上增加了数据保护的考虑,这样一来maste转载 2017-06-20 18:20:36 · 4559 阅读 · 0 评论 -
MySQL自增长与锁的进一步认识
自增长在数据库中是一种非常常见的一种属性,也是很多DBA或开发人员或者DBA人员首选的主键方式。在InnoDB存储引擎的内存结构中,对每个含有自增长值的表都有一个自增长计数器(auto_increment counter)。当对含有自增长的计数器的表进行插入操作时,这个计数器会被初始化,执行如下的语句来得到计数器的值:select max(auto_inc_col) from test for up原创 2017-06-07 15:09:23 · 21988 阅读 · 2 评论 -
MySQL备份与恢复
MySQL的备份恢复方法(或者叫工具)一般分为以下四种:mysqldumpmysqlbackupmysqlhotcopyxtrabackup/innobackupexmysqldump 在日常工作中,我们会使用mysqldump命令创建sql格式的转储文件来备份数据库。或者我们把数据导出后做数据迁移,主备搭建等操作。mysqldump是一个逻辑备份工具,复制原始的数据库对象定义和表数据转载 2017-06-01 23:53:48 · 405 阅读 · 1 评论 -
MySQL中ddl_log.log初步认识
今天发现测试数据库环境里在凌晨00:00时产生的一个日志文件-ddl_log.log,打开内容几乎是杂乱无章的,只有零散的信息,感觉和表中分区有关系,然后推断可能是因为定时event在00:00时调用函数进行表的添加和删除分区时生成的,但是具体原因无法确定。翻译 2017-06-05 17:59:10 · 3001 阅读 · 0 评论 -
undo log详解
我们知道MySQL的主备同步是通过binlog在备库重放进行的,IO线程把主库binlog拉过去存入relaylog,然后SQL线程重放 relaylog 中的event,然而这种模式有一个问题就是SQL线程只有一个,在主库压力大的时候,备库单个SQL线程是跑不过主库的多个用户线程的,这样备库延迟是不可避免的。为了解决这种n对1造成的备库延迟问题,5.6 引入了并行复制机制,即SQL线程在执行的时候转载 2017-06-15 21:18:04 · 4570 阅读 · 0 评论 -
MHA中send_report脚本(使用Email::Simple模块)
MHA是目前相对成熟的一套MySQL高可用方案,在MySQL故障切换过程中,MHA 能做到0~30 秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA 能最大程度上保证数据库的一致性,以达到真正意义上的高可用。并且可以通过send_report脚本实现邮件发送告警的功能。网上大多都是使用Mail::Sender模块实现发送邮件的功能,在此我是用了Email::Simple模块:原创 2017-05-16 15:10:07 · 6033 阅读 · 2 评论 -
MySQL参数sql_slave_skip_counter和slave_exec_mode进一步认识
在mysql主从集群维护中,有时候从库可能会出现因为主从数据导致的无法执行的SQL语句,那么此时如果临时解决主从关系,可能会在从库上执行set global sql_slave_skip_counter=1|N以跳过无法执行的命令; 那么设置此参数的值1或者N是什么意思呢? sql_slave_skip_counter:The number of events from the maste原创 2018-01-08 15:23:47 · 928 阅读 · 0 评论