MySQL OPTIMIZE all tables?

前端 未结 14 1938
迷失自我
迷失自我 2020-12-04 04:57

MySQL has an OPTIMIZE TABLE command which can be used to reclaim unused space in a MySQL install. Is there a way (built-in command or common stored procedure) to run this o

14条回答
  •  有刺的猬
    2020-12-04 05:20

    If you want to analyze, repair and optimize all tables in all databases in your MySQL server, you can do this in one go from the command line. You will need root to do that though.

    mysqlcheck -u root -p --auto-repair --optimize --all-databases
    

    Once you run that, you will be prompted to enter your MySQL root password. After that, it will start and you will see results as it's happening.

    Example output:

    yourdbname1.yourdbtable1       OK
    yourdbname2.yourdbtable2       Table is already up to date
    yourdbname3.yourdbtable3
    note     : Table does not support optimize, doing recreate + analyze instead
    status   : OK
    
    etc..
    etc...
    
    Repairing tables
    yourdbname10.yourdbtable10
    warning  : Number of rows changed from 121378 to 81562
    status   : OK
    

    If you don't know the root password and are using WHM, you can change it from within WHM by going to: Home > SQL Services > MySQL Root Password

提交回复
热议问题