重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Online DDL 工具:pt-osc
成都创新互联主打移动网站、网站设计、做网站、网站改版、网络推广、网站维护、空间域名、等互联网信息服务,为各行业提供服务。在技术实力的保障下,我们为客户承诺稳定,放心的服务,根据网站的内容与功能再决定采用什么样的设计。最后,要实现符合网站需求的内容、功能与设计,我们还会规划稳定安全的技术方案做保障。
对于 MySQL Online DDL 目前主流的有三种工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要讲解 pt-online-schema-change 的使用以及三种工具的简单对比。
一、原理及限制
1.1 原理
1. 创建一个与原表结构相同的空表,表名是 _new 后缀;
2. 修改步骤 1 创建的空表的表结构;
3. 在原表上加三个触发器:delete/update/insert,用于 copy 数据过程中,将原表中要执行的语句在新表中执行;
4. 将原表数据以数据块(chunk)的形式 copy 到新表;
5. rename 原表为 old 表,并把新表 rename 为原表名,然后删除旧表;
6. 删除触发器。
用如下语法:
alter table table_name rename table_new_name;
其中,table_name是旧表名,table_new_name是新表名。
mysql简介:
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。
MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。
MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
4.4.6删除字段
语句格式:ALTER TABLE 表名 DROP 字段名;
上面语句格式中,“表名”指定要删除字段的是哪个表,“DROP”表示要在表中删除字段,其后的“字段名”即指定了要删除的是哪个字段。
下面截图中的“ALTER TABLE”语句在t_dept表中删除了一个字段descri。
4.4.3修改字段类型
语句格式:ALTER TABLE 表名 MODIFY 字段名 数据类型;
在上面语句格式中,“表名”指定要修改的是哪个表,“MODIFY”表示要修改表中字段数据类型,“字段名”指定要修改表中哪个字段(的数据类型),“数据类型”指定表中字段要修改成的新数据类型。
下面截图中的“ALTER TABLE”语句将t_dept表中deptno字段数据类型由原来的 int(10)修改为varchar(20)。