mysql killed 不消失_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_TRX\G*************************** 1. row ***************************trx_id:715674773trx_state: ROLLING BACK

trx_started:2018-09-24 23:17:30trx_requested_lock_id: NULL

trx_wait_started: NULL

trx_weight:540574trx_mysql_thread_id:0trx_query: NULL

trx_operation_state: NULL

trx_tables_in_use:0trx_tables_locked:1trx_lock_structs:3trx_lock_memory_bytes:1136trx_rows_locked:2trx_rows_modified:540571#代表锁影响的行数,当数值为0时,锁将会释放

trx_concurrency_tickets:0trx_isolation_level: REPEATABLE READ

trx_unique_checks:1trx_foreign_key_checks:1trx_last_foreign_key_error: NULL

trx_adaptive_hash_latched:0trx_is_read_only:0trx_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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值