http://dinglin.iteye.com/
这篇文章介绍的简单方案应用于如下需求:主库为了性能考虑,作分库分表,从库则上为了多索引查询等需求,不作分表。
参数replicate-rewrite-db 及应用
这个参数是官方版本自带的。配置格式为 replicate-rewrite-db = from_db -> to_db。 同步效果为将所有在from_db上的操作都修改为对to_db的操作。
例子:
因此可以在主库上做分库,如需要将表abc分成10个,则主库上建10个db, 名字为sdb_1, sdb_2, … , sbd_10, 从库上则只有一个库sdb.
在从库my.cnf中配置10行,第一行为replicate-rewrite-db = sdb_1 -> sdb,以此类推。
存在的问题
这个参数能够解决一部分问题,但是对于单库内的分表则无法解决。而且若分库多了,比如需要建立1024个库,一来维护麻烦,二来my.cnf里面配置好长.
还有一个很要命的问题是,对于有些应用是按照时间分表,比如按月份新增表,若用此方法新增库,修改my.cnf则还需要重启slave。
另外,并不是所有的表都需要分表,库级别的映射方案也有诸多不便。
参数replicate-wild-rewrite-table
这个新增的参数目的就是要解决上面说到的问题。配置格式如下:
replicate-wild-rewrite-table=sdb.abc_% -> sdb.abc.
从库上同步效果为,将sbd库内所有符合abc_%格式的表的DML操作,都执行到 sdb.abc表中。
几点说明
1、 这个patch (代码) 基于Percona Server 5.5.18 (淘宝MySQL分支目前基于这个版本)
2、 只对row based replication的有效(多表更新的SQL改写问题)
3、 只对dml有效(细想一下就知道,ddl不能支持)
4、 结合多主复制 http://t.cn/zWwSFhM ,则整个方案能将分库分表的都同步到slave的同一个表上
相关推荐
通过将Postfix与MySQL集成,可以实现邮件系统的用户认证和配置动态管理,提高系统的可扩展性和灵活性。 #### 四、MySQL服务管理 - **启动MySQL服务**:`/etc/init.d/mysqld start` - **关闭MySQL服务**:`/etc/init...
MySQL是一款开源、免费的RDBMS,被广泛应用于Web应用程序和企业级系统,支持高性能、可扩展性和数据安全性。它可以存储大量数据,且提供了SQL语言来执行查询、更新和管理数据,适合处理复杂的数据关系和事务。 ...
而MySQL则是一款开源的关系型数据库管理系统,广泛应用于Web应用程序,因其高效率和可扩展性而备受青睐。将Excel数据导入MySQL,可以帮助用户将静态的Excel文件转化为动态、实时更新的数据库,便于进行复杂的查询和...
1. **Hive Metastore**:存储元数据,包括表名、列名、分区信息等,通常与MySQL或PostgreSQL等RDBMS集成。 2. **Hive Driver**:处理用户提交的HQL查询,解析并转化为MapReduce任务。 3. **Hive执行器**:执行实际的...
5. **配置导入选项**:在导入设置中,确保目标表名和字段映射正确。你可以根据需要调整其他高级选项,比如处理空值、数据类型转换等。 6. **执行导入**:确认所有设置无误后,点击“运行”开始导入过程。等待进度条...
Hibernate 是一个流行的 Java 应用程序开发框架,它提供了一个持久层解决方案,简化了数据库操作。对于初学者来说,理解 Hibernate 的映射和查询机制是至关重要的,因为它们构成了 Hibernate 核心功能的基础。 **一...
3. **Apache Commons Collections**:`commons-collections-3.2.1.jar`是Apache Commons项目的一部分,提供了许多实用的集合框架扩展,如列表、映射和队列的操作。在备份过程中,这些工具可以帮助处理数据集合,比如...
这种映射通常在ORM(对象关系映射)框架中非常常见,例如Entity Framework,它使得在.NET应用程序中操作数据库变得更为简便。 首先,我们需要理解T4模板的基本结构。T4模板由两部分组成:文本和控制逻辑。文本部分...
【Servlet】:Servlet是Java语言中的一个接口,用于扩展服务器的功能。在Web应用中,Servlet处理来自客户端(通常是浏览器)的HTTP请求,并返回响应。在本例中,`sql2000test` 类继承了 `HttpServlet`,实现`doGet` ...
此外,可能还需要提供配置选项,允许用户自定义数据库连接信息、表名、字段映射等。 总之,这个“eclipse rcp excel表转mysql程序”项目结合了Eclipse RCP的桌面应用开发能力、Apache POI的Excel处理功能以及JDBC的...
分库分表策略可以通过配置表名和字段映射来实现,如基于哈希、范围等方式,将数据均匀分配到各个子表中。 4.3 用户名密码修改 在server.xml中,需要配置MyCat的管理员用户名和密码,以及连接到MySQL数据库的用户...
2. **字段类型转换**:由于Oracle和MySQL的字段类型不完全对应,需要建立字段类型的映射表,如Oracle的`NUMBER`对应MySQL的`INT`或`BIGINT`,`VARCHAR2`对应`VARCHAR`或`TEXT`等。 3. **处理约束**:通过查询`USER_...
MySQL数据库是世界上最受欢迎的开源关系型数据库之一,广泛应用于各种规模的应用程序中。在Java开发环境中,连接并操作MySQL数据库通常需要使用特定的驱动包,例如JDBC(Java Database Connectivity)驱动。MyBatis...
比如,我们需要指定 MySQL 的 JDBC 驱动、连接信息、表名、查询语句等。 3. **执行 Full Import**: 使用 Solr 的管理界面或命令行工具执行全量导入。这将执行 DataConfig.xml 中的 SQL 查询,将结果转换为 Solr ...
2. **定义数据库表映射**:在配置文件中,你需要列出需要自动生成代码的数据库表,并可以设置表名与Java类名的映射规则。 3. **生成代码**:运行MBG,它会根据配置文件读取数据库信息,然后生成指定的Java文件和XML...
6. **命令行工具**:shp2mysql-win-64可能是通过命令行运行的,用户需要了解基本的命令行操作和可能的命令参数,以便配置数据导入设置,如数据库连接信息、表名和字段映射等。 7. **64位系统兼容性**:由于文件名中...
用户只需要在配置文件中指定数据库连接信息、表名及相应的规则,MBG就能根据这些信息自动生成所需的代码。 2. **配置MBG**: 要使用MBG,首先需要在项目中引入MBG的依赖,并创建一个XML配置文件。配置文件中包含...
Hive提供了一个可扩展的架构,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,方便对大数据进行分析处理。Hive-0.9.0是此压缩包中包含的一个版本,可能较旧,但依然能用于学习和理解Hive的基本操作...
MySQL以其开源、免费和高性能受到青睐,SQL Server以其强大的管理和安全性见长,Oracle则在大型企业级应用中表现出色,提供高级的数据管理功能。 2. **生成javabean**: 生成javabean的过程主要是将数据库中的表...