手动触发数据库/系统错误

问题描述 投票:0回答:1

是否可以手动触发数据库/系统错误,查看并演示使用和不使用提交的影响和结果? MariaDB有一个吗?

mysql sql database mariadb
1个回答
1
投票

生成错误或失败的一些方法(按严​​重程度排序,可能缺少一些):

  • 执行将导致错误的语句(例如,插入已存在的主键以获取密钥违规)
  • 使用SIGNAL引发显式异常(与其他编程语言一样): SIGNAL是“返回”错误的方法。 SIGNAL向处理程序,应用程序的外部部分或客户端提供错误信息。
  • MariaDB有交易超时,所以要等到达到timeout limit才能得到: ERROR 2006(HY000):MySQL服务器已经消失
  • 使用KILL终止特定的连接或查询: KILL CONNECTION与没有修饰符的KILL相同:在终止连接正在执行的任何语句之后,它终止与给定processlist_id相关联的连接。 KILL QUERY终止连接当前正在执行的语句,但保持连接本身不变。
  • Kill来自你的操作系统的mariadb进程

使用什么方法无关紧要 - 最终将回滚未提交的事务。最后两种方法也可以中断非事务性操作,如alter table,并可能使表或数据库损坏。

© www.soinside.com 2019 - 2024. All rights reserved.