Difference between revisions of "Mysql Crash Recovery"

Line 35: Line 35:
4) <tt> mysqldump zimbra -S /opt/zimbra/db/mysql.sock -u root -p password_for_mysql_root > /tmp/mysql.sql/zimbra.sql </tt>
4) <tt> mysqldump zimbra -S /opt/zimbra/db/mysql.sock -u root -ppassword_for_mysql_root > /tmp/mysql.sql/zimbra.sql </tt>

Revision as of 05:28, 30 October 2007

Mysql Crash Recovery

BUG "http://bugzilla.zimbra.com/show_bug.cgi?id=15797"

Mysql Crash recovery is performed when Mysql stops responding and there is error in the /opt/zimbra/db/data/hostname.err [Please check the BUG above for more information]

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 -ppassword_for_mysql_root > /tmp/mysql.sql/zimbra.sql

[Mysql Root Password you can get this by 'zmlocalconfig -s -m nokey 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 -ppassword_zimbra_mysql >

/tmp/mysql.sql/$db.sql; \echo -e "Dumped $db\n"; \done;

[Mysql Zimbra Password You can get the password: zmlocalconfig -s -m nokey zimbra_mysql_password]

6) Drop 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.

Verified Against: Zimbra Collaboration Suite 4.5.6 Date Created: 8/13/2007
Article ID: https://wiki.zimbra.com/index.php?title=Mysql_Crash_Recovery Date Modified: 2007-10-30

Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search