导航:首页 > 程序命令 > 能实现事务回滚的命令词是

能实现事务回滚的命令词是

发布时间:2024-10-09 18:05:23

❶ mysql 能否设置DDL语句 可以回滚

MySQL8.0 开始支持原⼦ DDL(atomic DDL),数据字典的更新,存储引擎操作,写⼆进制日志结合成了一个事务。在没有原⼦DDL之前,DROP TABLE test1,test2;如遇到server crash,可能会有test1被drop了,test2没有被drop掉。下面来看下在MySQL8.0之前和MySQL8.0 数据字典的区别

在MySQL8.0 之前,Data Dictionary除了存在与.FRM, .TRG, .OPT ⽂件外,还存在于系统表中(MyISAM ⾮事务引擎表中),在MySQL8.0 ,Data Dictionary 全部存在于Data Dictionary Storage Engine(即 InnoDB表中),这使crash recovery 维持原⼦性成为了可能


存储引擎⽀持

目前,只有InnoDB存储引擎⽀持原子DDL,为了实现原子DDL,Innodb要写DDL logs 到 mysql.innodb_ddl_log 表,这是⼀个隐藏在mysql.ibd 数据字典表空间⾥的数据字典表。要看mysql.innodb_ddl_log 中的内容,需要

SET GLOBALLOG_ERROR_VERBOSITY=3;(MySQL 8.0 默认为2,error log 记录Errors and

warnings,不不记录notes)

SET GLOBAL innodb_print_ddl_logs=1;

CREATE TABLEt1 (c1 INT)ENGINE=InnoDB;

查看error log

[Note] [MY-011066] InnoDB: DDL loginsert: [DDLrecord:DELETE SPACE,id=30,

thread_id=25, space_id=9, old_file_path=./test/t1.ibd]

[Note] [MY-011066]InnoDB:DDL logdelete:by id30

[Note] [MY-011066]InnoDB:DDL loginsert: [DDLrecord: REMOVECACHE,id=31,

thread_id=25, table_id=1066, new_file_path=test/t1]

[Note] [MY-011066]InnoDB:DDL logdelete:by id31

[Note] [MY-011066]InnoDB:DDL loginsert: [DDLrecord: FREE,id=32, thread_

id=25, space_id=9, index_id=143, page_no=4]

[Note] [MY-011066]InnoDB:DDL log delete:by id32

[Note] [MY-011066]InnoDB:DDL logpost ddl :begin for thread id: 25

[Note] [MY-011066]InnoDB:DDL logpost ddl :end for thread id: 25


原子DDL 操作步骤

阅读全文

与能实现事务回滚的命令词是相关的资料

热点内容
dwphp代码提示 浏览:583
c语言编译器都要手动配置吗 浏览:666
wifi密码有二级加密如何破 浏览:807
单片机c语言时间 浏览:620
冰箱压缩机敲击声 浏览:814
苹果账户更新app被禁用怎么办 浏览:967
转转app怎么解除永久封杀 浏览:826
国家反诈app怎么注册不了 浏览:346
32岁女程序员迷茫 浏览:49
红米无法访问data文件夹 浏览:687
国家反诈中心app为什么审核不过去 浏览:873
linuxwindows启动盘 浏览:815
百度贴吧app怎么看访客 浏览:440
javaio文件复制 浏览:409
app上海总部在什么楼里 浏览:373
格式化硬盘dos命令 浏览:496
红茶可以缓解压力 浏览:1001
腾讯云怎么弄七十多一年云服务器 浏览:723
java按钮设置图片 浏览:871
php数字分页代码 浏览:793