Apparently myisamchk Doesn’t Understand 2-Digit Numbers (MySQL)

MySql Logo


If you’re reading this, it’s probably because you’re trying to run myisamchk on a large table and you want to set the --sort_buffer_size to some large value. That’s advisable, of course.

However, it seems that some versions of MySQL don’t understand a 2-digit value for that parameter.

I was trying to do the following:

myisamchk -f -r --update-state --key_buffer_size=4G --sort_buffer_size=16G --read_buffer_size=32M --write_buffer_size=32M /var/sql/myisam-temp/mastersitedb/applicants_master_search
- recovering (with sort) MyISAM-table '/var/sql/myisam-temp/mastersitedb/applicants_master_search'
Data records: 0
- Fixing index 1
myisamchk: error: myisam_sort_buffer_size is too small
MyISAM-table '/var/sql/myisam-temp/mastersitedb/applicants_master_search' is not fixed because of errors
Try fixing it by using the --safe-recover (-o), the --force (-f) option or by not using the --quick (-q) flag

If you’re getting an error like that, try using --sort_buffer_size=9G. It took me about 20 minutes to figure that out (which is forever when trying to recover a DB). Hopefully this helps you. :)

Also, --myisam_sort_buffer_size is not a valid parameter, no matter how much the error message leads you to believe that it is.

About Scott

I'm a computer guy with a new house and a love of DIY projects. I like ranting, and long drives on your lawn. I don't post everything I do, but when I do, I post it here. Maybe.
Bookmark the permalink.

Leave a Reply