Syntax:
REPAIR [NO_WRITE_TO_BINLOG | LOCAL]
    TABLE tbl_name [, tbl_name] ...
    [QUICK] [EXTENDED] [USE_FRM]

REPAIR TABLE repairs a possibly corrupted table, for certain storage
engines only. For MyISAM tables, it has the same effect as myisamchk
--recover tbl_name by default.

This statement requires SELECT and INSERT privileges for the table.

REPAIR TABLE works for MyISAM, ARCHIVE, and CSV tables. See
http://dev.mysql.com/doc/refman/5.7/en/myisam-storage-engine.html
http://dev.mysql.com/doc/refman/5.7/en/archive-storage-engine.html, and
http://dev.mysql.com/doc/refman/5.7/en/csv-storage-engine.html. This
statement does not work with views.

REPAIR TABLE is supported for partitioned tables. However, the USE_FRM
option cannot be used with this statement on a partitioned table.

You can use ALTER TABLE ... REPAIR PARTITION to repair one or more
partitions; for more information, see [HELP ALTER TABLE], and
http://dev.mysql.com/doc/refman/5.7/en/partitioning-maintenance.html.

Although normally you should never have to run REPAIR TABLE, if
disaster strikes, this statement is very likely to get back all your
data from a MyISAM table. If your tables become corrupted often, try to
find the reason for it, to eliminate the need to use REPAIR TABLE. See
http://dev.mysql.com/doc/refman/5.7/en/crashing.html, and
http://dev.mysql.com/doc/refman/5.7/en/myisam-table-problems.html.

*Caution*:

Make a backup of a table before performing a table repair operation;
under some circumstances the operation might cause data loss. Possible
causes include but are not limited to file system errors. See
http://dev.mysql.com/doc/refman/5.7/en/backup-and-recovery.html.

*Warning*:

If the server crashes during a REPAIR TABLE operation, it is essential
after restarting it that you immediately execute another REPAIR TABLE
statement for the table before performing any other operations on it.
In the worst case, you might have a new clean index file without
information about the data file, and then the next operation you
perform could overwrite the data file. This is an unlikely but possible
scenario that underscores the value of making a backup first.

By default, the server writes REPAIR TABLE statements to the binary log
so that they replicate to replication slaves. To suppress logging,
specify the optional NO_WRITE_TO_BINLOG keyword or its alias LOCAL.

*Important*:

In the event that a table on the master becomes corrupted and you run
REPAIR TABLE on it, any resulting changes to the original table are not
propagated to slaves.

URL: http://dev.mysql.com/doc/refman/5.7/en/repair-table.html

