
无论是在命令行还是phpmyadmin里面都只能插入数据,无法删除数据。在命令行表现为不返回结果。phpmyadmin一直提示等待,直接在phpmyadmin输入SQL语句秒执行,但是就是没删除掉。
创建数据库也是一样,只能创建无法删除。
SQL语句都是对的。
服务器是Centos6.5
MYSQL是5.6.24
以前没遇到过这样的问题,百度个GG了几个小时也没解决,故而在此跪求解答。
1 TaoAlpha 2015-05-30 10:42:29 +08:00 会不会是当前用户没有删除权限? SHOW GRANTS; 看看 |
2 easynoder 2015-05-30 10:48:47 +08:00 比较大的可能是没有权限了 |
3 jiongjionger OP |
4 easynoder 2015-05-30 10:56:56 +08:00 也有可能发生死锁了吧。show engine innodb status;看看 |
5 TaoAlpha 2015-05-30 10:58:06 +08:00 @jiongjionger 你show grants;出来的是什么? |
7 jiongjionger OP |
8 jiongjionger OP @TaoAlpha 用root显示的是GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' ... GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GR... |
9 endoffight 2015-05-30 11:08:49 +08:00 via Android 重建索引试试 |
10 jiongjionger OP @endoffight 无效= = |
11 wintersun 2015-05-30 11:19:06 +08:00 @TaoAlpha 一般锁是行锁(Row Lock),也即是针对一个表中的某些行记录锁住不让修改,当然也不能删除。 而Insert插入有行锁的同一个表中时,一般新数据对行锁锁定的数据无影响,无依赖,所以insert没问题。 另外一种是表锁(Table Lock),个表在锁定解除之前,都不能修改,那就insert也会失败。 一般行锁用得多,很明显其工作效率比表锁要高;表锁我估计会用在数据导入导出时吧,一般很少用。 |
12 easynoder 2015-05-30 11:19:13 +08:00 看你的日志,你应该建立了多个会话,而你执行Insert 的会话并没有提交事务,导致你的另一个会话的delete执行不成功。 |
13 jiongjionger OP @easynoder 我等夜深人静的时候关掉服务器试试。非常感谢你的回答 |
14 easynoder 2015-05-30 11:31:09 +08:00 @jiongjionger 方便的话,可以把你的insert和delete的 sql发出来,具体分析一下。 |
16 slowgen 2015-05-30 13:29:17 +08:00 看下有没有触发器,也可能是在触发器实现了禁止删除 |
17 jiongjionger OP @shuimugan 并没有触发器 :( |
18 jiongjionger OP @easynoder 关掉了全部服务,只有我一个人在后台操作数据库。依然是无法删除,可以插入。非常猎奇 |
19 jiongjionger OP 问题解决了。- -说是为了安全给每台服务器装了个安全狗,结果和系统冲突导致各种不兼容,于是MYSQL无法删除数据,卸载就好了 |
20 taijia 2015-05-30 23:48:05 +08:00 via Android 用的是windows吗 |
21 Neveroldmilk 2015-05-31 09:45:02 +08:00 这种兼容性问题,害死人哪。 |
22 xifangczy 2015-05-31 11:19:31 +08:00 @jiongjionger 安全狗...就是服务器中的360 |
23 jiongjionger OP @taijia linux。centos6.5 |
24 jiongjionger OP @Neveroldmilk 的确啊。坑死,最主要连提示都没有 |
25 jiongjionger OP @xifangczy 服务器商安装的,然后我一直觉得挺方便的就没管 |