Got error -1 when reading table
生活随笔
收集整理的這篇文章主要介紹了
Got error -1 when reading table
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
環境:Percona Server for MySQL 5.5.18
模擬三個Terminal,實現當引用鎖定表的查詢被殺死時,錯誤日志中出現的Got error -1 when reading table
Terminal A
mysql> set session autocommit=0; Query OK, 0 rows affected (0.00 sec)mysql> create table t1(i1 int not null primary key, v2 varchar(20)) engine =innodb; Query OK, 0 rows affected (0.00 sec)mysql> insert into t1 values(1,'a'),(2, 'b'),(3, 'c'),(4,'d'); Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0mysql> commit; Query OK, 0 rows affected (0.01 sec)mysql> select * from t1 where i1 = 2 for update; +----+------+ | i1 | v2 | +----+------+ | 2 | b | +----+------+ 1 row in set (0.00 sec)mysql> select * from t1 where i1 = 4 for update; +----+------+ | i1 | v2 | +----+------+ | 4 | d | +----+------+ 1 row in set (0.00 sec)Terminal B
mysql> set session autocommit=0; Query OK, 0 rows affected (0.00 sec)mysql> select * from t1 where i1 = 4 for update; 此時的查詢會因為 Terminal A未提交而等待Terminal C
mysql> show processlist; +----+------+-----------+------+---------+------+------------+------------------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+-----------+------+---------+------+------------+------------------------------------------+ | 1 | root | localhost | test | Query | 6 | statistics | select * from t1 where i1 = 4 for update | | 3 | root | localhost | NULL | Query | 0 | NULL | show processlist | | 5 | root | localhost | test | Sleep | 328 | | NULL | +----+------+-----------+------+---------+------+------------+------------------------------------------+ 3 rows in set (0.00 sec)mysql> kill query 1; 殺掉Terminal B 的Query Query OK, 0 rows affected (0.00 sec)查看日志 171111 0:17:04 [ERROR] Got error -1 when reading table './test/t1'轉載于:https://www.cnblogs.com/Coye/p/7819060.html
總結
以上是生活随笔為你收集整理的Got error -1 when reading table的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 笔记6 | 从源码理解分析mScroll
- 下一篇: android黑科技系列——爆破一款应用