mysql数据库文件结构同步,[数据库的表同步mysql]MySQL表结构同步
现在完全致力于MySQL。
项目要求:将开发环境中的数据库修改同步到在线环境。
开发人员提供的解决方案是使用像Python这样的South框架来自动将开发环境的更改同步到生产环境。这对于DBA来说是无法忍受的(除非它是创建具有类似结果的数据库的语句)。数据库更改是在生产环境中实现的,必须事先进行评估。对业务的影响已减至最小,这旨在重新设计索引或使用在线修改工具等。本文暂不讨论,表同步解决方案如下。
以前的方法是使用导航工具一个一个地比较数据库,或者编写一个Mysqldump脚本仅转储表结构,然后使用diff一个一个地比较。对于少量数据库实例,这是可以接受的。简而言之,我个人认为它不符合运维自动化的概念。
最近尝试了一种新工具-Schema Sync,该工具基于Python语言并符合Apache许可证2.0版。开源协议。
说明信息:
1.该工具不会修改数据库,而是会收集不同数据库之间的差异并生成SQL脚本。
2.生成的SQL语句将自动在after,first和其他关键字后添加
3.对于重命名的表或字段,该工具生成首先被删除的SQL语句。
4.尚不支持MySQL的分区功能。
下载并安装:
安装条件:
1,Python 2.4、2.5或2.6
2,MySQL,版本5.0或更高版本
3,MySQLdb,版本1.2.1p2或更高版本
下载:SchemaSync-0.9.2
安装:
tar xvzf SchemaSync-0.9.2.tar.gz
cd SchemaSync-0.9.2
sudo python setup.py安装
如果要获取最新的开发版本,或在生产环境中不允许root登录,请参阅以下链接:http://schemasync.org/install.htm)
基本语法:
schemasync [选项]
源或目标的格式为:
mysql://用户:[受电子邮件保护]:端口/数据库
最终生成的文件的格式为:[_]。 YYYYMMDD。 (补丁|恢复)[_]。 SQL,有一个日志文件
补丁文件(应用于目标主机),还原文件(可以回滚,这种方法很棒,我个人同意,但是作为DBA,最好在操作之前对在线数据库进行备份)
特定选项可以通过\查看。 schemasync \ \-帮助
常用选项:
-output-directory = OUTPUT_DIRECTORY存储日志文件和生成的SQL文件的目录
–tag = TAG在文件上加上易于识别的注释
-r,–revision如果生成的结果文件中存在相同的名称,则将对其附加标记。
-a,–sync-auto-inc此选项应注意,他将同步自增值
-c \-sync-comments同步新添加字段的内容。 说明(测试后此选项无效)
测试:
192.168.1.172上的数据库同步库中有一个表:t1(id int null)
数据库同步库中的一个表位于192.168.1.175:t1(id int 不为null)
现在将172中的同步库同步到175:
schemasync \ -r–output-dir = \ quot;/root/sync/” mysql://根目录:[受电子邮件保护]:3306/sync mysql://根目录:[受电子邮件保护]:3307/sync
打印的消息:
[INFO 2012-07-13 18:21:49,784]为mysql创建的迁移脚本://192.168.1.175/sync
修补程序脚本:/root/sync/sync.20120713.patch.sql
还原脚本:/root/sync/sync.20120713.revert.sql
我们可以打开文件进行查看:
使用`sync`;
ALTER TABLE`t1` MODIFY COLUMN` id` int(11)NULL首先,引擎= InnoDB ROW_FORMAT =紧凑;
该文件已将id列的non-null属性设置为null。将此文件应用到175。
(PS:这是一个简单的测试。在构建环境中,您可以使用Shell循环同时同步多个库。对于DBA,最好在评估更改之前先检查SQL,评估对联机的影响,并考虑使用在线DDL和其他工具)
官方地址:http://schemasync.org/
mysql数据库文件结构同步,[数据库的表同步mysql]MySQL表结构同步相关推荐
- Navicat:实现两个数据库结构同步
Navicat版本:Navicat Premium 12 选择 工具 --> 结构同步 选择源数据库和目标数据库,选择完成后点击右下角对比按钮 要修改的对象:源数据库和目标数据库中都有的表,但是 ...
- linux无法同步数据库表,Linux数据库:MySQL主从同步设置和同步错误处理
注意: 1.两台服务器数据库版本应一致,如果不一致,从服务器的版本要高于主服务器的版本. 2.MySQL进行实时数据同步,本质上是将mysql动作同步到Slave服务器,而不是对实质的数据进行同 步. ...
- solr mysql 分词_solr 7+tomcat 8 + mysql实现solr 7基本使用(安装、集成中文分词器、定时同步数据库数据以及项目集成)...
基本说明 Solr是一个开源项目,基于Lucene的搜索服务器,一般用于高级的搜索功能: solr还支持各种插件(如中文分词器等),便于做多样化功能的集成: 提供页面操作,查看日志和配置信息,功能全面 ...
- mysql 去重 根据id_mycat数据库集群系列之mysql主从同步设置
最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据库安装.mycat部署安装.数据库之读写分离 ...
- php mysql主从延迟_如何解决主从数据库同步延迟问题?php连接 mysql 数据库如何添加一个公共的配置文件50...
在上一篇文章中,小编为您详细介绍了关于<图上属标注的什么样元器件?火车购票明明显示无座为什么样乘车后却发现有很多空座>相关知识.本篇中小编将再为您讲解标题如何解决主从数据库同步延迟问题?p ...
- dataguard mysql,[dataguard同步数据库]Dataguard环境下数据库的备份与恢复
在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 在部署完active data guard后,不但可以将只读的查询交给备库执行,还可以把日常的数据库备份工作放在备库 ...
- mysql master-user_【MySQL】MySQL5.6数据库基于binlog主从(Master/Slave)同步安装与配置详解...
主从数据库同步原理 image.png 主从数据库同步工作原理(流程): 当主库的数据发生修改时,数据更改的记录将写入到主库的二进制文件中,从库此时将会调用一个IO线程读取主库的二进制文件,并与中继日 ...
- linux同步数据库,Linux两台服务器mysql数据库同步
我们在做web系统部署的时候往往涉及到两台甚至多台数据库的备份,为了数据安全考虑(虽然说到底不过是一堆0 1,但是价千金啊),所以我们还是乖乖做同步把! 1.准备两台Linux服务器(主.从) 2.安 ...
- django mysql数据同步_[django同步数据库]Django去操作已经存在数据的数据库
数据库,各种表结构已经创建好了,甚至连数据都有了,此时,我要用Django管理这个数据库,ORM映射怎么办??? Django是最适合所谓的green-field开发,即从头开始一个新的项目 但是呢, ...
- 两个mysql主从同步_如何配置两个MySQL数据库之间的主从同步功能
匿名用户 1级 2016-02-29 回答 一. 概述 MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步.主从模式.互相备份模式的功能. ...
最新文章
- 元旦去哪玩?用Python告诉你哪些景点爆满!
- href可以请求后台么_href怎么进行传参
- 云数据库MongoDB全面支持3.4版本,支持多存储引擎
- JZ2440学习总结5
- Java 多线程练习---创建两个子线程,每个线程交替输出“你好--来自线程***”...
- 如何测试web服务器性能,如何执行Web服务器性能基准测试?
- mysql.createPool(db),Node.js中JavaScript操作MySQL的常用方法整理
- 最全的微信小程序代码大全
- 自动刷新徐小明股市直播内容
- Windows远程桌面单/多用户同时登录
- 卡巴斯基提示:“手机骷髅”病毒引发新一轮安全隐患
- Android 数独游戏开发,强逻辑的梳理
- linux下通过关键字查询日志并定位
- android-Intent,Injector,Template,Adapter,Validation,Gesture,Game,Game Engine,Bluetooth...
- 翻转课堂教学感受调查
- 评论:雨林木风Linux 意义和目的是什么?
- cms织梦文件夹目录
- 输入框:请输入关键字 小功能
- 以太坊2.0迁移之际,会有哪些机会和挑战?| Sodium线上发布会
- Java图形用户界面设计音乐播放器
热门文章
- 包含的前缀数目超过了最大值。最大值为 2_「西法带你学算法」一次搞定前缀和...
- python解base64_python模块之base64
- 安卓开发 在oncreate显示对话框 hide 之后 点不动_微信小程序云开发教程微信小程序的API入门常用API...
- 国二mysql综合应用题答案_2017年9月全国计算机二级MySQL考试章节练习题
- linux命令行经典教程,linux常用命令的经典使用
- css四种定位及相关知识总结(附实例、图解)
- mongodb driver c#语法
- IntelliJ IDEA安装lombok
- 功能表单之智能选择字段类型的使用——JEPLUS软件快速开发平台
- 梦断代码----阅读笔记3