zoukankan      html  css  js  c++  java
  • MySQL进程杀掉后是killed

    为了减少数据库磁盘占用,使用delete + where语句清理表数据,但是这样删除数据后也无法释放磁盘空间,而直接用delete和truncate表数据是可以清理磁盘的。

    原因可参考https://www.cnblogs.com/renzhicai/p/8857480.html

    为了清理磁盘计划先用delete + where清理表数据;在用optimize table释放磁盘空间,但是这样都锁表。所以计划关闭session sql_bin_log逐个slave执行。

    由于delete删除数据量特别大,执行时间特别长造成主从复制延迟,就手欠的kill掉MySQL processlist进程。但是发现进程是killed状态,就重启MySQL服务。

    重启后show processlist出现killed是没有 了,但是发现它回滚,而且trx_mysql_thread_id为0是没法kill掉的

    SELECT * FROM information_schema.INNODB_TRXG
    
    *************************** 1. row ***************************
                        trx_id: 715674773
                     trx_state: ROLLING BACK
                   trx_started: 2018-09-24 23:17:30
         trx_requested_lock_id: NULL
              trx_wait_started: NULL
                    trx_weight: 540574
           trx_mysql_thread_id: 0
                     trx_query: NULL
           trx_operation_state: NULL
             trx_tables_in_use: 0
             trx_tables_locked: 1
              trx_lock_structs: 3
         trx_lock_memory_bytes: 1136
               trx_rows_locked: 2
             trx_rows_modified: 540571  #代表锁影响的行数,当数值为0时,锁将会释放
       trx_concurrency_tickets: 0
           trx_isolation_level: REPEATABLE READ
             trx_unique_checks: 1
        trx_foreign_key_checks: 1
    trx_last_foreign_key_error: NULL
     trx_adaptive_hash_latched: 0
              trx_is_read_only: 0
    trx_autocommit_non_locking: 0
    1 row in set (0.00 sec)

    下次遇到这种情况,还是

    1、先确定执行的sql是否为最优 ,

    2、在slave不影响业务上执行,用screen命令执行,执行过程不要终止。因为执行不成功会回滚。执行时间更长。

    锁表查看命令

    SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
    SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;

    参考

    MySQL kill进程后出现killed死锁问题 - xibuhaohao - 博客园 https://www.cnblogs.com/xibuhaohao/p/11867024.html

    (3条消息)mysql kill进程后出现killed死锁问题_m0_37827567的博客-CSDN博客 https://blog.csdn.net/m0_37827567/article/details/82979767

    (3条消息)mysql kill进程后出现killed死锁问题(续)_m0_37827567的博客-CSDN博客 https://blog.csdn.net/m0_37827567/article/details/91044989

  • 相关阅读:
    设置一个alias直接推到github
    JSON
    分部式类定义
    sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法
    ibatis 连接数据库时的错误
    ibatis 连接数据库
    [ASP.NET] C#字符串处理
    20130401学习笔记
    最大公约数和最小公倍数
    从客户端中检测到有潜在危险的 Request.Form 值 解决方案
  • 原文地址:https://www.cnblogs.com/paul8339/p/13565027.html
Copyright © 2011-2022 走看看