Here are a couple more details I was able to get when it died again last night. What happens is it stops accepting connections, but I can still get into the mysql console. Running a show connections gets me this (trimmed down to show the first few connections, the rest is all cacti and other processes trying to open tables)
*************************** 1. row ***************************
Id: 1
User: event_scheduler
Host: localhost
db: NULL
Command: Daemon
Time: 44205
State: Waiting for next activation
Info: NULL
*************************** 2. row ***************************
Id: 6277
User: syslogadmin
Host: localhost:53517
db: syslog
Command: Query
Time: 30570
State: Saving state
Info: LOAD DATA LOCAL INFILE '/dev/shm/infile.txt' INTO TABLE logs FIELDS TERMINATED BY "\t" LINES TERMINA
*************************** 3. row ***************************
Id: 6284
User: snmptt
Host: localhost:44050
db: snmp
Command: Query
Time: 30259
State: Opening tables
Info: INSERT INTO snmptt_unknown (trapoid,enterprise,community,hostname,agentip,uptime,traptime,formatline
*************************** 4. row ***************************
Id: 6287
User: cacti
Host: localhost
db: cacti
Command: Query
Time: 30403
State: closing tables
Info: REPLACE INTO settings (name,value) VALUES ('poller_lastrun',1283072702)
*************************** 5. row ***************************
Id: 6288
User: syslogadmin
Host: localhost:44067
db: syslog
Command: Query
Time: 30403
State: Opening tables
Info: UPDATE sph_counter SET max_id= (SELECT MAX(id) FROM logs)