1 a.m. and I'm still at it. Oh dear.

I followed advice from here
Mailbox Stopped about changing sql passwords and editing the mysql.server file. I did that plus chown zimbra:zimbra /opt/zimbra/store/* and zmfixperms which I read about here
3 testing: LDAP: 389 Failed when restore zimbra.
After a reboot, my mailbox and tomcat behaved! Woo hoo!
My services are all running, and I can log into the Admin and user pages. I can't view my email messages though; when the inbox loads I get an error saying:
msg - system failure: missing blob for id: 4604, change: 12808
com.zimbra.common.service.ServiceException: system failure: missing blob for id: 4604, change: 12808
at com.zimbra.common.service.ServiceException.FAILURE (ServiceException.java:175)
at com.zimbra.cs.mailbox.MailItem.getBlob(MailItem.ja va:716)
at com.zimbra.cs.mailbox.MessageCache.fetchFromStore( MessageCache.java:213)
at com.zimbra.cs.mailbox.MessageCache.getMimeMessage( MessageCache.java:179)
at com.zimbra.cs.mailbox.Message.getMimeMessage(Messa ge.java:287)
at com.zimbra.cs.service.mail.ToXML.encodeMessageAsMP (ToXML.java:603)
at com.zimbra.cs.service.mail.GetMsg.handle(GetMsg.ja va:75)
at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEng ine.java:262)
at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.jav a:162)
at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.jav a:84)
at com.zimbra.soap.SoapServlet.doPost(SoapServlet.jav a:223)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
at com.zimbra.cs.servlet.ZimbraServlet.service(Zimbra Servlet.java:162)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:107)
at org.apache.catalina.valves.AccessLogValve.invoke(A ccessLogValve.java:541)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:667)
at org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
code - service.FAILURE
method - ZmCsfeCommand.prototype.invoke
detail - soap:Receiver
The one thread I found that talks about missing blobs just kinda trails off. Hmph!
Anyone want the glory of having helped me over this last hurdle? I can smell the victory...