Online DDL 工具:pt-osc
成都创新互联公司主营宁河网站建设的网络公司,主营网站建设方案,重庆APP开发,宁河h5小程序开发搭建,宁河网站营销推广欢迎宁河等地区企业咨询
对于 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. 删除触发器。
use studyDBExam;
create table Student_info(
User_ID int primary key auto_increment,
Username varchar(50) ,
Password varchar(20),
Class_name varchar(50),
Student_name varchar(50),
Student_sex varchar(50),
Student_sex varchar(50),
Student_sex varchar(50),
Student_sex varchar(50)
)
利用代码建立。
先建立表结构(可以理解为表的列名,也就是字段名)在实际生产过程中,表结构是需要经过精心设计的。
可以看到表t3中的表结构中含有两个字段:id,username;两个字段的值都不允许为空,id字段为主键。记录的插入与查找数据库中的表记录对应着表中的行。
用sql语句创建表结构啊,首先创建一个新的数据库,命名为XXXXX,然后创建表AAA:
create table AAA(
id int(11) 自增 无符号
name varchar(50)
......
)
既然是无限分类,那分类其实就是同等的
所以first字段去掉,abcd这些放到name,
根据pid=0来判断是否第一层,
其它字段照旧就可以了