mysqlmyisam

MySQL fails to start with myisam_repair_threads variable not found


I'm troubleshooting a MySQL 14.14** instance that is failing to start on Ubuntu 18.04.

Upon starting the service, MySQL is exiting with unknown variable 'myisam_repair_threads=1'

I've run myisamchk and confirmed that I do not see the variable listed. I also don't see the variable set in the systemd file for mysql. I'm not sure how to begin to troubleshoot.

Edit

** Per Bill Karwin's response below, this is the client version. The version of the MySQL server instance in question is incompatible with this variable. Commenting out the config where this value was set and restarting resolved the issue.


Solution

  • MySQL 14.14 is the version of the client. You can get the MySQL Server version with this query: SELECT VERSION();

    I guess it is MySQL 8.0.30, because I see in the documentation (which is often an excellent place to begin to troubleshoot, by the way):

    https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_myisam_repair_threads

    This system variable is deprecated in MySQL 8.0.29 and removed in MySQL 8.0.30.

    MySQL options appear in an options file, which is probably in /etc/my.cnf but it may be in other locations. Read https://dev.mysql.com/doc/refman/8.0/en/option-files.html for details.

    You should find the MySQL Server options file, edit it to remove the line that sets myisam_repair_threads=1 and any other options that have been removed in the current version of MySQL, and then your MySQL Server should start.