MYSQL 是执行操作的时候,我想强行中断.1.客户端与服务端不在一起,因为数据量很大,我对数据进行修改或重新改个字段什么的会很慢很慢很慢很慢很慢..
  这时,我就不想继续操作下去了,我想强行中断这个操作,请问应该怎么做.
2.如果就算能强行中断,我应经进行了一部分操作。请问我进行了的这部分操作会都表进行破坏吗?还是出现别的什么问题
  

解决方案 »

  1.   

    CTRL + C, CTRL+BREAK看你的存储引擎,MYSAIM会影响,INNODB会回滚。
      

  2.   

    1、也可以用SHOW PROCESSLIST;命令查看当前的connection ,得到ID,KILL掉连接
    2、没有打开事务有可能破坏数据。
      

  3.   


    第一,我想说的是CTRL+C只是关闭了客户端的那个窗口,可是SERVER端应该还是在执行我发给那个命令吧。
         我想中断的是连SERVER端的一起中断第二,那如果我发的不是操作语句,还是数据库定义语句,INNODB貌似也无法回滚,这样也有可能对表进行破坏吧·
      

  4.   


    在问一下,这个KILL是可以KILL 我发送给服务端的操作吗?就是说,他不会再服务端在执行操作了?
      

  5.   

    不会破坏,因为你的DDL语句还没有完成。KILL 是在服务器端通知MYQL中止一个线程,MYSQL得到这个通知后即进行线程中止的操作。 当你CTRL+C导致客户端中断后,MYSQL同样会自动通知MYSQLD服务去中止这个客户线程。
      

  6.   


    在弱弱的问一样。你的意思是说。MYISAM表可以会被损坏。但是INNODB是不能被损坏的?
      

  7.   

    MYISAM表,如果仅是DDL,则也不会被损坏。
    但MYSQL表本身就比较脆弱,即使你不中断,也会时常有问题。