在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

mysql表结构同步工具SchemaSync怎么用

110次阅读
没有评论

共计 4084 个字符,预计需要花费 11 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 mysql 表结构同步工具 SchemaSync 怎么用,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

SchemaSync 是一个开源的命令行工具,用于读取源 DB 和目标 DB 的 schema,自动生成同步更新和回滚的 sql,方便自动化的 Schema 同步。

下载地址:
https://github.com/mmatuson/SchemaSync

找到 Clone or download,然后下载 SchemaSync-master.zip

解压缩并安装:
#unzip SchemaSync-master.zip
#cd SchemaSync-master
#python setup.py install

SchemaSync 运行语法如下:
SYNOPSIS
========
schemasync [options] source target

# source/target format: mysql://user:pass@host:port/database
# output format: database [_ tag].YYYYMMDD.(patch|revert)[_ version].sql

实际运行的一个例子:
环境:python2.7
MySQL 版本:5.7.21
数据库字符集:utf8mb4
root@test ~/20180605/new]#schemasync mysql://root:[email protected]:3306/S91 mysql://root:[email protected]:3306/S91 –tag=DATABASE
Migration scripts created for mysql://192.168.0.52/S91
Patch Script: /root/20180605/new/S91_DATABASE.20180605.patch.sql
Revert Script: /root/20180605/new/S91_DATABASE.20180605.revert.sql

备注:–tag 可以随便取名

[root@test ~/20180605/new]#ll
total 12
-rw-r–r– 1 root root  424 Jun  5 13:44 S91_DATABASE.20180605.patch.sql
-rw-r–r– 1 root root 2280 Jun  5 13:44 S91_DATABASE.20180605.revert.sql
-rw-r–r– 1 root root  221 Jun  5 13:44 schemasync.log

[root@test ~/20180605/new]#cat S91_DATABASE.20180605.patch.sql

— Schema Sync 0.9.4 Patch Script
— Created: Tue, Jun 05, 2018
— Server Version: 5.7.21-log
— Apply To: 192.168.140.52/S91

USE `S91`;
SET FOREIGN_KEY_CHECKS = 0;
ALTER DATABASE `S91` CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE `test_comment_bak`;
ALTER TABLE `test_comment` ADD COLUMN `webnamePid` int(11) NOT NULL DEFAULT 0 AFTER `commentUrl`;
SET FOREIGN_KEY_CHECKS = 1;
SET FOREIGN_KEY_CHECKS = 1;

[root@test ~/20180605/new]#cat S91_DATABASE.20180605.revert.sql

— Schema Sync 0.9.4 Revert Script
— Created: Tue, Jun 05, 2018
— Server Version: 5.7.21-log
— Apply To: 192.168.140.52/S91

USE `S91`;
SET FOREIGN_KEY_CHECKS = 0;
ALTER DATABASE `S91` CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE TABLE `test_comment_bak` (`id` bigint(20) NOT NULL AUTO_INCREMENT , `commentId` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `infoId` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `productUrl` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `urlmd5` char(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `sourceType` varchar(4) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 0 , `infoFlag` varchar(5) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `title` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `siteName` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `commenttitle` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `content` text COLLATE utf8mb4_unicode_ci NOT NULL , `description` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `userlevel` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `author` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `sourceIconUrl` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `webname` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `channel` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `ctime` datetime NOT NULL , `gtime` datetime NOT NULL , `affections` tinyint(4) NOT NULL , `monitorId` int(11) NOT NULL DEFAULT 0 , `inputDbTime` datetime NOT NULL , `webDomain` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , `commentUrlMd5` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL , `commentUrl` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT , PRIMARY KEY (`id`), UNIQUE KEY `index_commentUrlMd5` (`commentUrlMd5`), KEY `index_commentId` (`commentId`), KEY `index_ctime` (`ctime`), KEY `index_monitorId` (`monitorId`), KEY `index_webDomain` (`webDomain`), KEY `index_inputDbTime` (`inputDbTime`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
ALTER TABLE `test_comment` DROP COLUMN `webnamePid`;
SET FOREIGN_KEY_CHECKS = 1;
SET FOREIGN_KEY_CHECKS = 1;

[root@test ~/20180605/new]#cat schemasync.log 
[INFO  2018-06-05 13:44:58,647] Migration scripts created for mysql://192.168.0.52/S91
Patch Script: /root/20180605/new/S91_DATABASE.20180605.patch.sql
Revert Script: /root/20180605/new/S91_DATABASE.20180605.revert.sql

解释如下:
S91_DATABASE.20180605.patch.sql 为 patch sql,需要登陆到从库 192.168.0.52 上执行
# mysql -uroot -p -h 192.168.0.52
mysql use S91
mysql source S91_DATABASE.20180605.patch.sql

S91_DATABASE.20180605.revert.sql 为回滚 SQL, 回滚时候用

关于“mysql 表结构同步工具 SchemaSync 怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-27发表,共计4084字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 亚洲精品二区国产综合野狼 | 天堂资源中文最新版在线一区 | 久久综合久久综合九色 | 77成人| 九九精品视频一区二区三区 | 日韩欧美精品综合一区二区三区 | 精品国产一区二区三区久久 | 久中文字幕中文字幕亚洲无线 | 夜色sese| 亚洲av永久无码天堂网毛片 | 视频一区欧美 | 曰本一级毛片免费 | 日本精品a在线 | 亚洲区精品 | 国产精品久久久久久久久久98 | 欧美性猛交99久久久久99按摩 | 亚洲综合在线视频 | 性荡视频播放在线视频 | 嫩草成人永久免费观看 | 欧美日韩亚洲精品一区二区 | 美女一级毛片无遮挡内谢 | 国产精品丝袜久久久久久不卡 | 国产人成亚洲第一网站在线播放 | 小小的日本乱码在线观看免费 | 亚洲ts贴图| 大肉大捧一进一出视频出来呀 | 伊在人亚洲香蕉精品区 | 亚洲日韩欧美一区久久久久我 | 亚洲成a人一区二区三区 | 日本在线视频www鲁啊鲁 | 亚洲精品天堂一区在线观看 | 日韩一区二区不卡中文字幕 | 韩国免费毛片 | 一级做a爰片性色毛片视频图片 | 韩国二级毛片免费播放 | 肥臀熟女一区二区三区 | 无码夜色一区二区三区 | aaaaaaa一级毛片| 久久精品国产亚洲av久 | 牛牛视频一区二区三区 | 国产在线观看免费视频软件 |