MySQL crash-safe replication】的更多相关文章

InnoSQL HA Suite的实现原理与配置说明  InnoSQL的VSR功能Virtual Sync Replication MySQL 5.5版本引入了半同步复制(semi-sync replicaiton)的功能 MySQL 5.6支持了crash safe功能 http://www.innomysql.net/article/7403.html Virtual Sync Replication 搭建一个MySQL数据库的复制(replication)环境是相当简单的,这点是MySQL…
2016-12-23 17:29 宋利兵 作者:宋利兵 来源:MySQL代码研究(mysqlcode) 0.导读 本文重点介绍了InnoDB的crash safe和binlog之间的关系,以及2阶段提交.组提交等概念.看完后,相信您对MySQL Crash Recovery的过程,以及如何保证Crash Safe会有充分的认识. 本文约2200字,阅读时间约15分钟. 0 - 什么是CrashSafeCrashSafe指MySQL服务器宕机重启后,能够保证:- 所有已经提交的事务的数据仍然存在.…
一台MySQL服务器突然Crash了,检查进程 ps -ef | grep -i mysql 发现mysqld进程已经没有了, 检查错误日志时发现MySQL确实Crash了.具体如下所示: 注意日志中的时间: 09:49:52 UTC是UTC时间(协调世界时间) , 加上8小时就是东八区的时间17:45:52,日志前段是UTC时间,后面又是系统时间.这个需要注意! 09:49:52 UTC - mysqld got signal 11 ; This could be because you hi…
最近有台服务器的MySQL经常crash,为了进一步定位问题,开启了mysql core file功能,开启步骤如下,供参考 [开启步骤] 1. my.cnf文件中增加2个配置选项 [mysqld] core_file [mysqld_safe] core-file-size=unlimited 2.修改系统参数,配置suid_dumpable echo 1 >/proc/sys/fs/suid_dumpable 3.重启mysql服务,配置生效 service mysql restart [生…
下午在调试的时候报错数据库连接就报错我就很纳闷后面用原来的代码写发现还是报错 System.TypeInitializationException: 'The type initializer for 'MySql.Data.MySqlClient.Replication.ReplicationManager' threw an exception.' 应该是出在Mysql包上的问题 但是我发现更换版本也不行 我就尝试着打开mysql到自己数据库看看 回来之后调试又成功了,之后问题又出现过1次但…
原创 2016-07-21 宋利兵 MySQL中文网 分享主题 <MySQL 5.7 Replication新特性> 嘉宾介绍 宋利兵,MySQL研发工程师.2009年加入MySQL全球研发团队,从事MySQL复制相关功能的开发. 主题介绍 主要分享在MySQL 5.7中,Replication(复制)相关的一些新特性,比如多源复制.增强半同步复制.并行复制等. Agenda GTID复制 多线程并发复制 半同步复制 多源复制 其他特性 这次的PPT.录音我也同时放到百度云盘里了,欢迎下载转存…
背景 近期线上MySQL 5.7.20集群不定期(多则三周,短则一两天)出现主库mysql crash.触发主从切换问题,堆栈信息如下: 从堆栈信息可以明显看出,在调用 try_acquire_lock_impl 时触发的crash. 分析 在官方Bug库未搜到类似问题,转而从代码库入手,搜到对应的BUG -- 8bc828b982f678d6b57c1853bbe78080c8f84e84: BUG#26502135: MYSQLD SEGFAULTS IN MDL_CONTEXT::TRY_…
背景: MySQL5.7在主从复制上面相对之前版本多了一些新特性,包括多源复制.基于组提交的并行复制.在线修改Replication Filter.GTID增强.半同步复制增强等.因为都是和复制相关,所以本文将针对这些新特性放一起进行说明,篇幅可能稍长,本文使用的MySQL版本是5.7.13. 1,多源复制(多主一从) MySQL在5.7之后才支持多源复制,之前介绍过MariaDB 多主一从 搭建测试说明,现在介绍如何在MySQL上做多主一从,具体的方法说明可以查看官方文档. 原理:多源复制加入…
配置Mysql server 5.5 的双机备份,也就是master-slave模式.本例子还是一个多database复制的情况. 现在有两个database在同一台mysql server,也就是master,各自有自己的user访问和操作,用于不同的应用程序.这两个database都要通过replication配置,实时复制到另一台mysql server上,也就是slave. 配置步骤: 1. 从master上到处现有的数据 mysqldump -R -E -uroot -p ADB >…
作者:沃趣科技数据库专家 董红禹 问题概述 最近我们遇到一个MySQL的问题,分析后很有代表意义,特地写出来供大家参考.出现问题是,数据库先是被置为只读,然后过了一段时间,MySQL直接Crash掉了,发生Crash时MySQL的error日志中打印了以下内容: 根据日志中我们可以看到,线程140363572082432要对记录上一个X锁,但是等待0x7fa949340740线程的RW-Latch的释放. 我们再向下看查询到如下信息(涉及到用户信息 谓词就用xxx代替): 根据上面信息我们去数据…
背景: MySQL5.7在主从复制上面相对之前版本多了一些新特性,包括多源复制.基于组提交的并行复制.在线修改Replication Filter.GTID增强.半同步复制增强等.因为都是和复制相关,所以本文将针对这些新特性放一起进行说明,篇幅可能稍长,本文使用的MySQL版本是5.7.13. 1,多源复制(多主一从) MySQL在5.7之后才支持多源复制,之前介绍过MariaDB 多主一从 搭建测试说明,现在介绍如何在MySQL上做多主一从,具体的方法说明可以查看官方文档. 原理:多源复制加入…
限制用户的操作权限并不是怕有人恶意搞破坏,而是为了减少失误操作的可能性. 详细文档:https://dev.mysql.com/doc/refman/8.0/en/user-account-management.html 关于用户的信息都存储在 mysql 数据库下的 user 表中,查看所有用户名: mysql> USE mysql; mysql> SELECT user FROM user; +------------------+ | user | +------------------…
INDEX 由于性能.智能结果等多方面原因,在搜索文本时,全文搜索一般要优于通配符和正则表达式,前者为指定列建立索引,以便快速找到对应行,并且将结果集智能排序.启用查询扩展可以让我们得到未必包含关键字的相关行,启用布尔模式可以让我们指定搜索内容不应包含的单词.各个关键词的权重等. 全文索引使用说明. 不要在导入数据前进行全文索引. WARNING 不是所有数据库引擎都支持全文搜索.MyISAM 支持全文索引,InnoDB 不支持全文索引. PS. 据说 MySQL 5.6 以上版本的 InnoD…
前言 在MySQL8.0之前的版本中,由于架构的原因,mysql在server层使用统一的frm文件来存储表元数据信息,这个信息能够被不同的存储引擎识别.而实际上innodb本身也存储有元数据信息.这给ddl带来了一定的挑战,因为这种架构无法做到ddl的原子化,我们在线上经常能够看到数据目录下遗留的临时文件,或者类似server层和innodb层列个数不一致之类的错误.甚至某些ddl可能还遗留元数据在innodb内,而丢失了frm,导致无法重建表…..(我们为了解决这个问题,实现了一个叫drop…
文章目录 单机部署: 1. 创建ndb_mgmd配置文件: 2. 创建ndbd配置文件 3. 创建mysqld配置文件 4. 安装初始数据库 5. 按顺序启动ndb_mgmd, ndbd, mysqld 6. 查看ndb cluster状态 Geographic redundancy 分别修改A和B的mysqld配置文件并重启mysqld: 重启后进入mysql客户端查看master状态 分别重新配置A和B的slave 检查配置结果 通过在数据库中修改数据来检查配置是否生效 官方文档: http…
原文请参照MySQL官方文档Reference Manual,版本5.6.10. 复制功能使得数据可以从一个MySQL数据库(master主库)复制到另一个或多个MySQL数据库(slave从库).缺省情况下,复制是异步的,slave无需保持持久的连接来从master获得更新.这意味着更新能工作在远程连接,甚至是临时间断性的连接上,比如拨号连接服务.根据不同的配置,你能复制master上所有的数据库,或指定的数据库,甚至某一数据库中指定的数据表. 下面是关于复制功能,新手经常问到的问题. 1.…
终于结束这本书了,最后两章的内容在官方文档中都有详细介绍,简单过一遍.. 首先是数据备份,最简单直接的就是用 mysql 的内置工具 mysqldump MySQL 8.0 Reference Manual  /  Backup and Recovery  /  Using mysqldump for Backups  /  Dumping Data in SQL Format with mysqldump 导入也巨简单,因为导出文件是 .sql 直接用 source 就 ok 了. 另外,需要…
InnoDB 支持 transaction ,MyISAM 不支持. 索引: Changing the Default Commit Behavior SAVEPOINT 与 ROLLBACK TO COMMIT 与 ROLLBACK When working with transactions and transaction processing, there are a few keywords that'll keep reappearing. Here are the terms you…
推荐看这篇mysql 利用触发器(Trigger)让代码更简单 以及 23.3.1 Trigger Syntax and Examples 感觉有点像 Spring 里的 AOP 我们为什么需要触发器? -- 因为我们希望当某件事情发生的时候另外一些事情自动发生.. 例如 在向某张表插入数据的时候,同时向另外一张表插入数据. “向某张表插入数据” 就是事件(导火线),而“向另外一张表插入数据” 就是我们希望自动发生的事情(被触发的事情). 可是为什么不自己手动“ 先向某表插入数据,再向另外一张表…
mysql中游标的使用案例详解(学习笔记)这篇讲得相当直白好懂了. 索引: cursor 基础讲解 mysql 循环 书上的整合代码 cursor 基础讲解 cursor 有点类似于 JDBC 中的 ResultSet ,允许我们在执行 SELECT 之后,一行一行地 FETCH 数据. 它只能被用在存储过程中!如果把存储过程比作函数,cursor 只能在这个函数体中(存储过程的内部)定义.打开.关闭,一旦存储过程执行完毕,它将不再存在(可以把 cursor 理解为一个局部变量). 定义一个 c…
以前写过类似的东西,用来自动生成数据. 你可以将 Stored Procedure 理解为可以重复使用的批处理文件. Stored Procedure 非常有用,我们应该尽可能地去使用它. 那么,应用 Stored Procedure 有什么好处呢? 封装过程,简化复杂的操作 代码重用.共用,所有人都用同一个存储过程,减少出错的可能 简化变更管理,如果业务逻辑发生改变,修改存储过程就可以了,上层软件甚至不需要知道发生了什么改变. 提高性能,存储过程比单条执行要快 MySQL 语言让存储过程更加强…
之前 manipulate 表里的数据,现在则是 manipulate 表本身. INDEX 创建多列构成的主键 自动增长的规定 查看上一次插入的自增 id 尽量用默认值替代 NULL 外键不可以跨引擎 添加字段与删除字段 & 定义外键 复杂表结构的修改 删除表与修改表名 非常工整的 . .模范脚本: CREATE TABLE customers ( cust_id int NOT NULL AUTO_INCREMENT, cust_name ) NOT NULL , cust_address…
INDEX Updating Data The IGNORE Keyword Deleting Data Faster Deletes Guidelines for Updating and Deleting Data Updating Data UPDATE customers SET cust_name = 'The Fudds', cust_email = 'elmer@fudd.com' ; To delete a column's value, you can set it to NU…
INDEX BAD EXAMPLE Improving Overall Performance Inserting Multiple Rows INSTEAD OF Inserting a Single Row Inserting Retrieved Data BAD EXAMPLE INSERT INTO Customers VALUES(NULL, 'Pep E. LaPew', '100 Main Street', 'Los Angeles', 'CA', ', 'USA', NULL,…
INDEX UNION Rules WHERE VS. UNION UNION VS. UNION ALL Sorting Combined Query Results UNION Rules As you can see, unions are very easy to use. But a few rules govern exactly which can be combined: A UNION must be comprised of two or more SELECT statem…
记文档还是相当重要的! 索引 假名的三个用途 自交(Self Joins) 自然交(Natural Joins) Outer Joins Using Table Aliases Using aliases for column names and calculated fields To shorten the SQL syntax To enable multiple uses of the same table within a single SELECT statement 自交 像下面这…
索引 理解相关表. foreign key JOIN 与保持参照完整性 关于JOIN 的一些建议,子查询 VS. 联表查询 我发现MySQL 的官方文档里是有教程的. SQL Tutorial - W3Schools The SQL Tutorial for Data Analysis | SQL Tutorial - Mode Analytics Understanding Relational Tables The key here is that having multiple occur…
索引 理解 GROUP BY 过滤数据 vs. 过滤分组 GROUP BY 与 ORDER BY 之不成文的规定 子查询 vs. 联表查询 相关子查询和不相关子查询. 增量构造复杂查询 Always More Than One Solution As explained earlier in this chapter, although the sample code shown here works, it is often not the most efficient way to perf…
索引 正则表达式:MySQL only supports a small subset of what is supported in most regular expression implementations 计算字段,应用程序计算 VS. 数据库计算,Concat. 假名 + - * / 测试 算数. 函数表达式 MySQL 函数. API 聚集函数示例 Using MySQL Regular Expressions → 默认大小写不敏感 mysql> SELECT '312HEWQKH…
索引 AND. OR 运算顺序 IN Operator VS. OR NOT 在 MySQL 中的表现 LIKE 之注意事项 运用通配符的技巧 Understanding Order of Evaluation 与大多数编程语言一样, AND 比 OR 有更高的优先级. Using Parentheses in WHERE Clauses Whenever you write WHERE clauses that use both AND and OR operators, use parent…