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

时间:2018-03-04 08:31:31

标签: mysql sql database mariadb

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

1 个答案:

答案 0 :(得分:1)

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

  • 执行会导致错误的语句(例如,插入已存在的主键以获取密钥违规)
  • 使用SIGNAL引发显式异常(与其他编程语言一样):
      

    SIGNAL是“返回”错误的方法。 SIGNAL向处理程序,应用程序的外部部分或客户端提供错误信息。

  • MariaDB有交易超时,所以要等到达到timeout limit才能获得:
      

    ERROR 2006(HY000):MySQL服务器已经消失

  • 使用KILL终止特定连接或查询:
      
        
    • KILL CONNECTION与KILL相同,没有修饰符:在终止连接正在执行的任何语句后,它终止与给定processlist_id相关联的连接。
    •   
    • KILL QUERY终止连接当前正在执行的语句,但保持连接本身不变。
    •   
  • Kill来自您的操作系统的mariadb流程

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