|
|
(7 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| {{Article Footer|Zimbra Collaboration Suite 4.5.6|13/8/2007}}
| | #REDIRECT [[Mysql Crash Recovery]] |
| | |
| | |
| BUG "http://bugzilla.zimbra.com/show_bug.cgi?id=15797"
| |
| | |
| | |
| Mysql Crash recovery is performed when Mysql stops responding and the error in the /opt/zimbra/db/data/hostname.err is:- | |
| | |
| | |
| InnoDB: Dump of the tablespace extent descriptor: len 40; hex 0000000000000002ffffffff0000000000000b1600000004ffffffbefaafffffffffbffeaaffffff; asc ;
| |
| InnoDB: Serious error! InnoDB is trying to free page 3348
| |
| InnoDB: though it is already marked as free in the tablespace!
| |
| InnoDB: The tablespace free space info is corrupt.
| |
| InnoDB: You may need to dump your InnoDB tables and recreate the whole
| |
| InnoDB: database!
| |
| InnoDB: Please refer to
| |
| InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
| |
| InnoDB: about forcing recovery.
| |
| 070725 16:24:01InnoDB: Assertion failure in thread 2372672432 in file fsp0fsp.c line 2980
| |
| InnoDB: We intentionally generate a memory trap.
| |
| InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
| |
| InnoDB: If you get repeated assertion failures or crashes, even
| |
| InnoDB: immediately after the mysqld startup, there may be
| |
| InnoDB: corruption in the InnoDB tablespace. Please refer to
| |
| InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
| |
| InnoDB: about forcing recovery.
| |
| mysqld got signal 11;
| |
| This could be because you hit a bug. It is also possible that this binary
| |
| or one of the libraries it was linked against is corrupt, improperly built,
| |
| or misconfigured. This error can also be caused by malfunctioning hardware.
| |
| We will try our best to scrape up some info that will hopefully help diagnose
| |
| the problem, but since we have already crashed, something is definitely wrong
| |
| and this may fail.
| |
| key_buffer_size=8388600
| |
| read_buffer_size=1044480
| |
| max_used_connections=0
| |
| max_connections=21
| |
| threads_connected=0
| |
| It is possible that mysqld could use up to
| |
| key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 51115 K
| |
| bytes of memory
| |
| Hope that's ok; if not, decrease some variables in the equation.
| |
| | |
| thd=(nil)
| |
| Attempting backtrace. You can use the following information to find out
| |
| where mysqld died. If you see no messages after this, something went
| |
| terribly wrong...
| |
| Cannot determine thread, fp=0x8d6c03a8, backtrace may not be correct.
| |
| Stack range sanity check OK, backtrace follows:
| |
| 0x816df93
| |
| 0x832bb36
| |
| 0x82ea91d
| |
| 0x82ec69f
| |
| 0x82d07a7
| |
| 0x82c9701
| |
| 0x82a9261
| |
| 0x82fe620
| |
| 0x4b7d4371
| |
| 0x4b509ffe
| |
| New value of fp=(nil) failed sanity check, terminating stack trace!
| |
| Please read http://dev.mysql.com/doc/mysql/en/using-stack-trace.html and follow instructions on how to resolve the stack trace. Resolved
| |
| stack trace is much more helpful in diagnosing the problem, so please do
| |
| resolve it
| |
| The manual page at http://www.mysql.com/doc/en/Crashing.html contains
| |
| information that should help you find out what is causing the crash.
| |
| | |
| | |
| | |
| Steps to perform Recovery:
| |
| | |
| | |
| * Edit /opt/zimbra/conf/my.cnf: Put an entry :- '''innodb_force_recovery = 3'''
| |
| | |
| | |
| * Dump the database:- mysqldump zimbra and mboxgroup DB's
| |
| | |
| | |
| * Drop all Database's.
| |
| | |
| | |
| * Create all Database's.
| |
| | |
| | |
| * Restore dump data.
| |
| | |
| | |
| 1) Edit the my.cnf file and put '''innodb_force_recovery = 3''' : save the file and start mysql. [mysql.server start]
| |
| | |
| | |
| 2) mysql -NB -e "show databases" | grep mbox > /tmp/mysql.db.list [Make a list of the existing database]
| |
| | |
| | |
| 3) mkdir /tmp/mysql.sql
| |
| | |
| | |
| 4) mysqldump zimbra -S /opt/zimbra/db/mysql.sock -u root -p AOJTGukheoAar080cauxqOyVt0khuUI > /tmp/mysql.sql/zimbra.sql
| |
| | |
| | |
| ["AOJTGukheoAar080cauxqOyVt0khuUI" is the '''Mysql Root password''']
| |
| | |
| | |
| 5) Dumping Databases: Run the following command from the prompt:
| |
| | |
| | |
| for db in `< /tmp/mysql.db.list`; \do /opt/zimbra/mysql/bin/mysqldump $db -S /opt/zimbra/db/mysql.sock -u zimbra -ppvbaAlDCHQ8UtMcY2oqNo91kyyqdX0 >
| |
| | |
| /tmp/mysql.sql/$db.sql; \echo -e "Dumped $db\n"; \done;
| |
| | |
| | |
| 6) Drp the Database:
| |
| | |
| | |
| for db in `< /tmp/mysql.db.list`; \ do mysql -e "drop database $db"; \echo -e "Dropped $db"; \done;
| |
| | |
| | |
| | |
| 7) mysql -e "drop database zimbra"
| |
| | |
| | |
| 8) Run Mysql in Non-Recovery Mode:
| |
| | |
| | |
| Remove the '''innodb_force_recovery = 3''' from the my.cnf file.
| |
| | |
| | |
| Stop Mysql Server and Start again.
| |
| | |
| | |
| 9) Create Database:
| |
| | |
| | |
| mysql -e "create database zimbra character set utf8"
| |
| | |
| | |
| 10) Create the existed Database:
| |
| | |
| | |
| for db in `< /tmp/mysql.db.list`; \ do mysql -e "create database $db character set utf8"; \
| |
| echo -e "Created $db \n";done;
| |
| | |
| | |
| | |
| 11) mysql zimbra < /tmp/mysql.sql/zimbra.sql
| |
| | |
| | |
| 12) Update Mboxgroup:
| |
| | |
| | |
| for sql in /tmp/mysql.sql/mbox*; \ do mysql `basename $sql .sql` < $sql; \ echo -e "Updated `basename $sql .sql` \n"; \done;
| |
| | |
| | |
| 13) zmcontrol start
| |
| | |
| | |
| 14) Check if everything is up and running.
| |