› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
jiongjionger
V2EX  ›  MySQL

遇到一个 MYSQL 猎奇的问题,无法删除数据,只能插入

  •  1
     
  •   jiongjionger · May 30, 2015 · 6636 views
    This topic created in 4135 days ago, the information mentioned may be changed or developed.

    无论是在命令行还是phpmyadmin里面都只能插入数据,无法删除数据。在命令行表现为不返回结果。phpmyadmin一直提示等待,直接在phpmyadmin输入SQL语句秒执行,但是就是没删除掉。
    创建数据库也是一样,只能创建无法删除。

    SQL语句都是对的。
    服务器是Centos6.5
    MYSQL是5.6.24

    以前没遇到过这样的问题,百度个GG了几个小时也没解决,故而在此跪求解答。

    Supplement 1  ·  May 31, 2015
    非常感谢各位的帮助。问题已经解决,居然是安全狗导致的,卸载后恢复正常。
    25 replies  •  2015-05-31 13:41:08 +08:00
    TaoAlpha
        1
    TaoAlpha  
       May 30, 2015   ❤️ 1
    会不会是当前用户没有删除权限? SHOW GRANTS; 看看
    easynoder
        2
    easynoder  
       May 30, 2015
    比较大的可能是没有权限了
    jiongjionger
        3
    jiongjionger  
    OP
       May 30, 2015
    @TaoAlpha @easynoder 可是我用的root一样…
    easynoder
        4
    easynoder  
       May 30, 2015
    也有可能发生死锁了吧。show engine innodb status;看看
    TaoAlpha
        5
    TaoAlpha  
       May 30, 2015
    @jiongjionger 你show grants;出来的是什么?
    TaoAlpha
        6
    TaoAlpha  
       May 30, 2015
    @easynoder 锁了的话, insert也应该有问题吧
    jiongjionger
        7
    jiongjionger  
    OP
       May 30, 2015
    jiongjionger
        8
    jiongjionger  
    OP
       May 30, 2015
    @TaoAlpha 用root显示的是GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' ...
    GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GR...
    endoffight
        9
    endoffight  
       May 30, 2015 via Android   ❤️ 1
    重建索引试试
    jiongjionger
        10
    jiongjionger  
    OP
       May 30, 2015
    @endoffight 无效= =
    wintersun
        11
    wintersun  
       May 30, 2015   ❤️ 3
    @TaoAlpha 一般锁是行锁(Row Lock),也即是针对一个表中的某些行记录锁住不让修改,当然也不能删除。 而Insert插入有行锁的同一个表中时,一般新数据对行锁锁定的数据无影响,无依赖,所以insert没问题。

    另外一种是表锁(Table Lock),整个表在锁定解除之前,都不能修改,那就insert也会失败。

    一般行锁用得多,很明显其工作效率比表锁要高;表锁我估计会用在数据导入导出时吧,一般很少用。
    easynoder
        12
    easynoder  
       May 30, 2015   ❤️ 1
    看你的日志,你应该建立了多个会话,而你执行Insert 的会话并没有提交事务,导致你的另一个会话的delete执行不成功。
    jiongjionger
        13
    jiongjionger  
    OP
       May 30, 2015
    @easynoder 我等夜深人静的时候关掉服务器试试。非常感谢你的回答
    easynoder
        14
    easynoder  
       May 30, 2015
    @jiongjionger 方便的话,可以把你的insert和delete的 sql发出来,具体分析一下。
    TaoAlpha
        15
    TaoAlpha  
       May 30, 2015
    @wintersun Thanks, 学习啦!
    slowgen
        16
    slowgen  
    PRO
       May 30, 2015
    看下有没有触发器,也可能是在触发器实现了禁止删除
    jiongjionger
        17
    jiongjionger  
    OP
       May 30, 2015
    @shuimugan 并没有触发器 :(
    jiongjionger
        18
    jiongjionger  
    OP
       May 30, 2015
    @easynoder 关掉了全部服务,只有我一个人在后台操作数据库。依然是无法删除,可以插入。非常猎奇
    jiongjionger
        19
    jiongjionger  
    OP
       May 30, 2015
    问题解决了。- -说是为了安全给每台服务器装了个安全狗,结果和系统冲突导致各种不兼容,于是MYSQL无法删除数据,卸载就好了
    taijia
        20
    taijia  
       May 30, 2015 via Android
    用的是windows吗
    Neveroldmilk
        21
    Neveroldmilk  
       May 31, 2015
    这种兼容性问题,害死人哪。
    xifangczy
        22
    xifangczy  
       May 31, 2015
    @jiongjionger 安全狗...就是服务器中的360
    jiongjionger
        23
    jiongjionger  
    OP
       May 31, 2015
    @taijia linux。centos6.5
    jiongjionger
        24
    jiongjionger  
    OP
       May 31, 2015
    @Neveroldmilk 的确啊。坑死,最主要连提示都没有
    jiongjionger
        25
    jiongjionger  
    OP
       May 31, 2015
    @xifangczy 服务器商安装的,然后我一直觉得挺方便的就没管
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   841 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 20:34 · PVG 04:34 · LAX 13:34 · JFK 16:34
    ♥ Do have faith in what you're doing.