MySQL手册版本 5.0.20-MySQL同步

6 MySQL 同步

同步功能在MySQL
3.23.15就开始引进了,它可以把一个MySQL服务器上的数据复制到另一个服务器上去。本章描述了MySQL的各种复制特性。介绍了同步的概念,如何设置同步服务器,以及可用服务器的参照。还提供了一系列的常见问题及其答案,疑难解答。

"14.6 Replication Statements"中介绍了同步相关的SQL语句语法。

我们建议经常访问"http://www.mysql.com"经常阅读本章的最新内容。同步功能一直在改进,我们经常把这部分的手册更新到当前的最新内容。

6.1 同步介绍

MySQL
3.23.15及更高的版本支持单向同步。一个服务器作为master(主服务器),一个或者多个服务器作为slave(从服务器)。master服务器把更新的内容写到二进制日志(binary
log或binlog)中,并且维护了一个索引文件来记录日志循环的情况。这些日志中的更新部分会被发送到slave服务器。一个slave连接到master之后,它通知master最后一次成功增量更新的日志位置。slave会找出所有从那个时刻开始的更新操作,然后阻塞并等待master发送新的更新操作。

如果想要做一个同步服务器链的话,slave同时也可以作为master。

注意,启用同步后,所有要同步的更新操作都必须在master上执行。否则,必须注意不要造成用户在master上的更新和在slave上的更新引起冲突。

单向同步的好处是稳健,高速,系统易管理:

有了master/slave机制后,就更稳健了。当master上发生问题时,可以把slave作为备用切换过去。

时间: 2024-10-29 10:29:06

MySQL手册版本 5.0.20-MySQL同步的相关文章

MySQL手册版本 5.0.20-MySQL同步(三)

mysql 6.5 不同MySQL版本之间的同步兼容性 最早的二进制格式是在MySQL 3.23中开发出来的.在MySQL 4.0中改进了,MySQL 5.0又改进了.在配置同步时需要升级服务器的话,它们之间的因果关系在"6.6 Upgrading a Replication Setup"中描述了. 如果只关心同步,任何MySQL 4.1.x版本和MySQL 4.0.x是一样的,因为它们都使用相同格式的二进制日志.所以,这些版本是互相兼容的,它们之间可以无缝地运行同步.一个例外的情况是

MySQL手册版本 5.0.20-MySQL同步(一)

mysql 6 MySQL 同步 同步功能在MySQL 3.23.15就开始引进了,它可以把一个MySQL服务器上的数据复制到另一个服务器上去.本章描述了MySQL的各种复制特性.介绍了同步的概念,如何设置同步服务器,以及可用服务器的参照.还提供了一系列的常见问题及其答案,疑难解答. "14.6 Replication Statements"中介绍了同步相关的SQL语句语法. 我们建议经常访问"http://www.mysql.com"经常阅读本章的最新内容.同步功

MySQL手册版本 5.0.20-MySQL同步(二)

mysql 6.4 设置同步 以下描述了如何快速设置MySQL同步服务器.假设你打算同步全部的数据库,并且之前没有设置过.需要关闭master服务器以完成全部的步骤. 本章描述的过程可以用于一个slave的情况,也可以用于多个slave的情况. 这只是一个最直接设置slave的办法,并不是只有一个.例如,已经有了master的数据快照(snapshot),master已经设置了服务器编号ID(server_id)并且启用了二进制日志,这就无需关闭master或者阻止在master上更新数据了.详

MySQL手册版本 5.0.20-MySQL同步(四)

mysql 6.8 同步启动选项 不管是master还是slave,都要设定 server-id 选项来确定使它们都有各自唯一的同步ID.必须选择 1 到 2^32-1 之间的正整数.例如: server-id=3. 关于master服务器上可用于控制二进制日志记录的选项详细描述请看"5.9.4 The Binary Log". 下表描述了slave同步可用的选项,可以在命令行或者配置文件中设定它们. 一些slave同步选项以特定的方式来处理,在slave启动时,如果存在 `maste

MySQL手册版本 5.0.20-MySQL同步(五)

mysql 6.9 同步 FAQ 问: master还在运行中,如何在不停止它的情况下配置slave? 答: 需要设计几个选项参数.如果已经有了master的备份并且记录了数据快照二进制日志文件名以及偏移位置(运行 SHOW MASTER STATUS 查看结果),执行以下步骤: 确定slave指定了一个唯一的服务器编号. 在slave上执行如下语句,把一些选项值改成实际值: mysql> CHANGE MASTER TO -> MASTER_HOST='master_host_name',

MySQL手册版本 5.0.20-MySQL优化(二)

mysql|优化 7.2.1 EXPLAIN 语法(得到SELECT 的相关信息) EXPLAIN tbl_name 或者: EXPLAIN SELECT select_options EXPLAIN 语句可以被当作 DESCRIBE 的同义词来用,也可以用来获取一个MySQL要执行的 SELECT 语句的相关信息. EXPLAIN tbl_name 语法和 DESCRIBE tbl_name 或 SHOW COLUMNS FROM tbl_name 一样. 当在一个 SELECT 语句前使用关

MySQL手册版本 5.0.20-MySQL优化(一)

mysql|优化 7 MySQL 优化 数据库优化是一项很复杂的工作,因为这最终需要对系统优化的很好理解才行.尽管对系统或应用系统的了解不多的情况下优化效果还不错,但是如果想优化的效果更好,那么就需要对它了解更多才行. 本章主要讲解了几种优化MySQL的方法,并且给出了例子.记着,总有各种办法能让系统运行的更快,当然了,这需要更多的努力. 7.1 优化概述 让系统运行得快得最重要因素是数据库基本的设计.并且还必须清楚您的系统要用来做什么,以及存在的瓶颈. 最常见的系统瓶颈有以下几种: 磁盘搜索.

MySQL手册版本 5.0.20-MySQL优化(三)

mysql|优化 7.2.2 估算查询性能 在大多数情况下,可以通过统计磁盘搜索次数来估算查询的性能.对小表来说,通常情况下只需要搜索一次磁盘就能找到对应的记录(因为索引可能已经缓存起来了).对大表来说,大致可以这么估算,它使用B树做索引,想要找到一条记录大概需要搜索的次数为:log(row_count) / log(index_block_length / 3 * 2 / (index_length + data_pointer_length)) + 1. 在MySQL中,一个索引块通常是10

MySQL手册版本 5.0.20-MySQL优化(四) (1)(4)

可以在锁表后,一起执行几个语句来加速 INSERT 操作: LOCK TABLES a WRITE; INSERT INTO a VALUES (1,23),(2,34),(4,33); INSERT INTO a VALUES (8,26),(6,29); UNLOCK TABLES; 这对性能提高的好处在于:直到所有的 INSERT 语句都完成之后,索引缓存一次性刷新到磁盘中.通常情况是,多有少次 INSERT 语句就会有多数次索引缓存刷新到磁盘中的开销.如果能在一个语句中一次性插入多个值的