0

MAMP と codeigniter フレームワークを使用しています。


非常に奇妙な問題に直面しています。私が書くアクティブなレコードステートメントがあります。

$this->db->select('user_vcard.pro_pic_filename AS `author_pro_pic_filepath`');

CI ステートメントで使用AS author_pro_pic_filepathすると、HTTP 要求の実行後に SERVER ERROR が発生します。次に、ページを更新しようとすると、ブラウザが長時間停止し、ある時点で次のように表示されます

Error Number: 1205.
Lock wait timeout exceeded; try restarting transaction

ただし、他の名前に置き換えるAS author_pro_pic_filepathと、問題なく動作します。


問題を解決するために私がやろうとしたことは次のとおりです。

  1. データベースの .sql ダンプをエクスポートし、安全な場所に保管しました
  2. すべてのテーブルを削除してみました。
  3. データベース全体を削除しようとしました。
  4. テーブルからすべての MySQL ユーザー権限を削除しました
  5. ブラウザからすべての Cookie とセッション データを消去しました
  6. SafariとChromeの両方で試しました
  7. MAMPをシャットダウンしてみました。
  8. ラップトップをシャットダウンしてみました。
  9. 以上をまとめてみました。
  10. また、codeigniter コード内のすべてのトランザクション ステートメントをオフにしてみました。

結果に変化なし。上記のように常に動作しています。

アプリの他のいくつかのファイルで、これと同じアクティブ レコード ステートメントを使用しました。どこでも問題なく動作しています。しかし、この 1 つの特定のファイルでのみ、上記の問題に直面しています。


SQL クエリの結果: SHOW ENGINE INNODB MUTEX;

Rows: 2

Type    InnoDB  
Name    /users/severin/MAMPexp/MAMP_packages/mysql-5.5.9/storage/innobase/srv/srv0srv.c:1030    
Status  os_waits=1

Type    InnoDB
Name    /users/severin/MAMPexp/MAMP_packages/mysql-5.5.9/storage/innobase/log/log0log.c:832 
Status  os_waits=7

SQL クエリの結果: SHOW ENGINE INNODB MUTEX;

Rows: 1

Type    InnoDB      
Name    
Status  
=====================================
120426 18:39:04 INNODB MONITOR OUTPUT
=====================================
Per second averages calculated from the last 5 seconds
-----------------
BACKGROUND THREAD
-----------------
srv_master_thread loops: 56 1_second, 56 sleeps, 5 10_second, 8 background, 8 flush
srv_master_thread log flush and writes: 57
----------
SEMAPHORES
----------
OS WAIT ARRAY INFO: reservation count 8, signal count 8
Mutex spin waits 2, rounds 31, OS waits 1
RW-shared spins 7, rounds 210, OS waits 7
RW-excl spins 0, rounds 0, OS waits 0
Spin rounds per wait: 15.50 mutex, 30.00 RW-shared, 0.00 RW-excl
------------
TRANSACTIONS
------------
Trx id counter 8BCB
Purge done for trx's n:o < 8BBD undo n:o < 0
History list length 149
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 0, not started, OS thread id 4531712000
MySQL thread id 55, query id 926 localhost root
SHOW ENGINE INNODB STATUS
---TRANSACTION 8BBB, not started, OS thread id 4531163136
MySQL thread id 44, query id 820 localhost doc2doc
---TRANSACTION 8BBD, ACTIVE 486 sec, OS thread id 4531437568
3 lock struct(s), heap size 376, 2 row lock(s), undo log entries 1
MySQL thread id 45, query id 831 localhost doc2doc
Trx read view will not see trx with id >= 8BBE, sees < 8BBE
--------
FILE I/O
--------
I/O thread 0 state: waiting for i/o request (insert buffer thread)
I/O thread 1 state: waiting for i/o request (log thread)
I/O thread 2 state: waiting for i/o request (read thread)
I/O thread 3 state: waiting for i/o request (read thread)
I/O thread 4 state: waiting for i/o request (read thread)
I/O thread 5 state: waiting for i/o request (read thread)
I/O thread 6 state: waiting for i/o request (write thread)
I/O thread 7 state: waiting for i/o request (write thread)
I/O thread 8 state: waiting for i/o request (write thread)
I/O thread 9 state: waiting for i/o request (write thread)
Pending normal aio reads: 0 [0, 0, 0, 0] , aio writes: 0 [0, 0, 0, 0] ,
ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0
Pending flushes (fsync) log: 0; buffer pool: 0
413 OS file reads, 520 OS file writes, 381 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 0.00 writes/s, 0.00 fsyncs/s
-------------------------------------
INSERT BUFFER AND ADAPTIVE HASH INDEX
-------------------------------------
Ibuf: size 1, free list len 0, seg size 2, 0 merges
merged operations:
insert 0, delete mark 0, delete 0
discarded operations:
insert 0, delete mark 0, delete 0
Hash table size 276707, node heap has 1 buffer(s)
0.00 hash searches/s, 0.00 non-hash searches/s
---
LOG
---
Log sequence number 5050799
Log flushed up to   5050799
Last checkpoint at  5050799
0 pending log writes, 0 pending chkp writes
370 log i/o's done, 0.00 log i/o's/second
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 137363456; in additional pool allocated 0
Dictionary memory allocated 114130
Buffer pool size   8192
Free buffers       7736
Database pages     455
Old database pages 0
Modified db pages  0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 402, created 53, written 322
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s
LRU len: 455, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
--------------
ROW OPERATIONS
--------------
0 queries inside InnoDB, 0 queries in queue
2 read views open inside InnoDB
Main thread id 4506259456, state: waiting for server activity
Number of rows inserted 507, updated 2, deleted 0, read 1679
0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s
----------------------------
END OF INNODB MONITOR OUTPUT
============================
4

1 に答える 1

0

big time dumb assOMG...........これを理解しようとして2日間過ごした後、私は自分がaであることを証明しました。

事前にヘルパーをロードしていないときに、ヘルパー関数を呼び出していました。

私の愚かさを許してください。

于 2012-04-26T13:27:24.493 に答える