首页 > 数据库 >数据库在线修改表结构

数据库在线修改表结构

时间:2023-12-12 09:48:20浏览次数:32  
标签:在线 -- 数据库 perl 修改 yum install 结构

在线修改表结构

在业务系统运行的过程中随意删改字段,会造成重大事故。常规的做法是业务停机,维护表结构,但是不影响正常业务的表结构是允许在线修改的。

【ALTER TABLE 修改表结构的弊病】

  • 由于修改表结构是表级锁,因此在修改表结构时,影响表写入操作
  • 如果修改表结构失败,必须还原表结构,所以耗时更长
  • 大数据表记录多,修改表结构锁表时间很久

【使用Percona-Toolkit工具】

  • 安装第三方依赖包

    yum install  -y perl-DBI
    yum install  -y perl-DBD-mysql
    yum install  -y perl-IO-Socket-SSL
    yum install  -y perl-Digest-MD5
    yum install  -y perl-TermReadKey
    
  • 安装Percona-Toolkit

    #进入到Percona-Tookit离线文件所在的目录
    rpm -ivh *.rpm
    
  • 把客户收货地址表中的name字段改成VARCHAR(20)

    pt-online-schema-change --host=192.168.99.202 --port=3306 --user=root --password=abc123456 --alter "MODIFY name VARCHAR(20) NOT NULL COMMENT '收货人'" D=neti, t=t_customer_address --print --execute
    

标签:在线,--,数据库,perl,修改,yum,install,结构
From: https://www.cnblogs.com/15078480385zyc/p/17896057.html

相关文章

  • docker部署PostgreSQL数据库(带有postgis插件)
    1、拉PostgreSQL(带有postgis插件)镜像dockerpullmdillon/postgis2、启动数据库容器dockerrun--namepostgis-ePOSTGRES_PASSWORD=postgis-p5432:5432-dmdillon/postgis:latest参数解释:--namepostgis为容器指定一个名称;-p5432:5432:指定端口映射,格式为:......
  • openGauss学习笔记-152 openGauss 数据库运维-备份与恢复-物理备份与恢复之PITR恢复
    openGauss学习笔记-152openGauss数据库运维-备份与恢复-物理备份与恢复之PITR恢复152.1背景信息当数据库崩溃或希望回退到数据库之前的某一状态时,openGauss的即时恢复功能(Point-In-TimeRecovery,简称PITR)可以支持恢复到备份归档数据之后的任意时间点。说明:PITR仅支持恢......
  • openGauss学习笔记-153 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_proback
    openGauss学习笔记-153openGauss数据库运维-备份与恢复-物理备份与恢复之gs_probackup153.1背景信息gs_probackup是一个用于管理openGauss数据库备份和恢复的工具。它对openGauss实例进行定期备份,以便在数据库出现故障时能够恢复服务器。可用于备份单机数据库,也可对主机或者......
  • 第四单元 管理数据库架构
    EFCore提供两种主要方法来保持EFCore模型和数据库架构同步。至于我们应该选用哪个方法,请确定你是希望以EFCore模型为准还是以数据库为准。如果希望以EFCore模型为准,请使用迁移。对EFCore模型进行更改时,此方法会以增量方式将相应架构更改应用到数据库,以使数据库......
  • 数据库的字段属性
    Unsigned:无符号的整数声明了该列不能声明为负数zerofill:0填充的不足的位数,使用0来填充,int(3),5---005自增:通常理解,自动在上一条记录的基础上+1(默认)通常用来设计唯一的主键~index,必须是整数类型可以自定义设计主键自增的起始值和步长非空null notnull假设设置为notnull,如果不......
  • 关系和非关系型数据库区别
    数据库分类关系型数据库:(SQL)MySQL,Oracle,SqlServer,DB2,SQLlite通过表和表之间,行和列之间的关系进行数据的存储,学员信息表,考勤表,,,非关系型数据库:(NOSQL)Redis,MongDB非关系型数据库,对象存储,通过对象自身的属性来决定DBMS(数据库管理系统)需要数据库的管理软件,科学有效的管理我们的......
  • 数据库的三大范式
    /*三大范式第一范式(1NF)原子性:保证每一列不可再分第二范式(2NF)满足第一范式的前提下,每张表只描述一件事第三范式(3NF)在满足第一二范式的前提下第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关规范性和性能的问题关联查询的表不得超过三张表*考虑商业化的需求......
  • 修改Postgresql默认账号postgres的密码
    1.修改用户postgres的密码PostgreSQL数据库默认创建管理员账号:postgres;修改其密码,仅需一下三步:1、首先,登录PostgreSQLsudo-upostgrespsqlpostgres-p54322、然后,修改账号postgres的密码ALTERUSERpostgresWITHPASSWORD'Lpf65BsDhDNdaJmH';3、最后,退出pgsql客户端exi......
  • 装完Ubuntu后默认root用户的密码是多少?如何修改root密码
    1、Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码。可以在终端输入命令:sudopasswd然后输入当前用户的密码。2、终端会提示输入新的密码并确认,此时的密码就是root新密码。修改成功后,输入命令:suroot再输入新的密码就ok了。......
  • Linux修改conda默认环境位置,引发故障及解决方案
    参考资料:服务器管理-Linux修改conda默认环境位置-知乎(zhihu.com)服务器home目录过大,被管理员提示了,排查了磁盘占用后,觉得将conda位置调整一下腾出的空间最大,就找到了参考资料改了conda的默认环境位置。修改完后condainfo查看的信息也符合预期,就把env和pkgs文件夹直......