thanks for your replies,
yes, it worked before, we use InnoDB, what worked was
Set innodb_force_recovery to 1 (either in your custom .cnf or set in the DB command line):
SET GLOBAL innodb_force_recovery = 1;
This helped in recovering from InnoDB corruption and allowed to perform the dump.
After dump is complete, reset innodb_force_recovery,
Reset innodb_force_recovery to 0:
mysql> SET GLOBAL innodb_force_recovery = 0;
In /etc/mysql/, your custom *.cnf:
innodb_force_recovery = 0 # Provide help in recovering from InnoDB corruption and might allow you to perform mysql dump
If you don't reset, you could receive other errors, not being able to login etc. Preferred is set from mysql commandline
mysql> SET GLOBAL innodb_force_recovery = 1;0;
Or in your dump script, bash etc.:
# mysql --defaults-extra-file="$your_mysql_password_cfg" -e "SET GLOBAL innodb_force_recovery = 1;"0;"
Other values which might improve performance and tuning related to mysql dumps, advised on other sites etc.:
[mysqld]
innodb_buffer_pool_size = 45GB # 70-80% of total RAM
max_allowed_packet= 2G # max_allowed_packet - max size 2GB
wait_timeout = 28800
interactive_timeout = 28800
net_read_timeout = 1200 # 20 minutes
net_write_timeout= 1200 # 20 minutes
net_buffer_length = 64K
[mysqldump]
# max_allowed_packet - largest allowed value (2GB)
max_allowed_packet = 2G