Database errors in ZCS 8.6: Difference between revisions
(Created page with "===<h1>Database errors in ZCS 8.6</h1>=== <hr> <br> <h2>Problem:</h2> Database errors found. /opt/zimbra/mysql/bin/mysqlcheck --defaults-file=/opt/zimbra/conf/my.cnf -S /o...") |
No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 5: | Line 5: | ||
<h2>Problem:</h2> | <h2>Problem:</h2> | ||
Found database errors "tables doesn't exist". | |||
/opt/zimbra/mysql/bin/mysqlcheck --defaults-file=/opt/zimbra/conf/my.cnf -S /opt/zimbra/db/mysql.sock -A -C -s -u root --password=XXXXXXXX | /opt/zimbra/mysql/bin/mysqlcheck --defaults-file=/opt/zimbra/conf/my.cnf -S /opt/zimbra/db/mysql.sock -A -C -s -u root --password=XXXXXXXX | ||
Line 18: | Line 18: | ||
<h2>Solution:</h2> | <h2>Solution:</h2> | ||
Drop and reload the | Drop and reload the MySQL database to fix the problem : | ||
<pre> | <pre> | ||
1. zmcontrol stop | 1. zmcontrol stop | ||
Line 28: | Line 28: | ||
4. mysql --batch --skip-column-names -e "show databases" | grep -e mbox -e zimbra > /tmp/mysql.db.list; mkdir /tmp/mysql.sql/ | 4. mysql --batch --skip-column-names -e "show databases" | grep -e mbox -e zimbra > /tmp/mysql.db.list; mkdir /tmp/mysql.sql/ | ||
5. for db in `cat /tmp/mysql.db.list`; do ~/mysql/bin/mysqldump $db -S $mysql_socket -u root --password=$mysql_root_password > | 5. for db in `cat /tmp/mysql.db.list`; do ~/mysql/bin/mysqldump $db -S $mysql_socket -u root --password=$mysql_root_password > /tmp/mysql.sql/$db.sql; echo "Dumped $db"; sleep 10; done | ||
6. mysql.server stop | 6. mysql.server stop | ||
Line 52: | Line 51: | ||
Submitted by: Aarti Shah | |||
Latest revision as of 07:06, 21 August 2017
Database errors in ZCS 8.6
Problem:
Found database errors "tables doesn't exist".
/opt/zimbra/mysql/bin/mysqlcheck --defaults-file=/opt/zimbra/conf/my.cnf -S /opt/zimbra/db/mysql.sock -A -C -s -u root --password=XXXXXXXX mysql.gtid_slave_pos Error : Table 'mysql.gtid_slave_pos' doesn't exist in engine mysql.innodb_index_stats Error : Table 'mysql.innodb_index_stats' doesn't exist in engine mysql.innodb_table_stats Error : Table 'mysql.innodb_table_stats' doesn't exist in engine
Solution:
Drop and reload the MySQL database to fix the problem :
1. zmcontrol stop 2. source ~/bin/zmshutil ; zmsetvars 3. mysql.server start 4. mysql --batch --skip-column-names -e "show databases" | grep -e mbox -e zimbra > /tmp/mysql.db.list; mkdir /tmp/mysql.sql/ 5. for db in `cat /tmp/mysql.db.list`; do ~/mysql/bin/mysqldump $db -S $mysql_socket -u root --password=$mysql_root_password > /tmp/mysql.sql/$db.sql; echo "Dumped $db"; sleep 10; done 6. mysql.server stop 7. mv /opt/zimba/db/data/ /opt/zimbra/db/dataORIG/ 8. /opt/zimbra/libexec/zmmyinit --sql_root_pw $mysql_root_password 9. mysql.server status **If needed mysql.server start** 10. mysql -e "drop database zimbra" 11. for db in `cat /tmp/mysql.db.list`; do mysql -e "create database $db character set utf8"; echo "Created $db"; done 12. mysql zimbra < /tmp/mysql.sql/zimbra.sql 13. for sql in /tmp/mysql.sql/mbox*; do mysql `basename $sql .sql` < $sql; echo -e "Updated `basename $sql .sql` \n"; done 14. zmcontrol start
Submitted by: Aarti Shah