Illegal websites should not initiate any form of manual service requests to our staff. It is strictly prohibited to use honmau Media's technical support services and products to engage in any illegal activities. If discovered, no technical support will be provided. ×
Current location:home> news > help and support

Operation and maintenance technical services

Response time:10 minutes

How to handle problems:1-on-1 manual technical services

Working hours:Monday to Saturday 8:30-22:00

Business scope:

Website development Mini programs development Discuz operation and maintenance

Baota Operation and Maintenance Website Operation and Maintenance SSL Certificates

Operation and maintenance technology can solve difficult problems for you

search first

recommend

Baota Linux Professional Edition

It includes 13 professional version plug-ins worth more than 3500 yuan, including Web Application Firewall, website monitoring reports and exception monitoring push.

  • Baota system reinforcement
  • Website tamper-proof program
  • Nginx Firewall
  • Website Monitoring Report
advertising

[MySQL] How to use Myslcheck to check and repair and optimize tables

以下的例子都是基于 MySQL 5.6 版本运行状态下(mysqlcheck是个在线工具), 不同的存储引擎对于这个命令的支持程度不同(指的是 check, repair, analyze, optimize),下面内容偏于操作,主要基于 innodb 引擎。

提示:OPTIMIZE 在大表时候可能会消耗很多时间,不清楚原理情况下请谨慎使用。

检查特定的表

注意在shell中执行,不是在mysql的交互环境下

如果应用中提示某个表坏了,使用下面的命令来检查。

$ mysqlcheck -c newmandela order -uroot -p

Enter password:

newmandela.order                                   OK

newmandela 是库名, order是表名,还需要输入用户名和密码

检查一个库中的所有表

$ mysqlcheck -c newmandela -uroot -p

Enter password:

newmandela.account                                 OK

newmandela.alarm                                   OK

newmandela.alarm_settings                          OK

newmandela.auth_group                              OK

newmandela.auth_group_permissions                  OK

newmandela.auth_permission                         OK

...

检查所有库中的所有表

全部的库和表都检查一遍了。

$mysqlcheck -c --all-databases -uroot -p

Enter password:

apmonitor.acinfo                                   OK

apmonitor.apdailysts                               OK

apmonitor.apinfo                                   OK

apmonitor.apmonthsts                               OK

apmonitor.apscanlog                                OK

apmonitor.auth_group                               OK

...

如果只想检查某几个库呢? 可以使用 –databases 参数

$ mysqlcheck -c --databases newmandela radius -uroot -p

Enter password:

newmandela.account                                 OK

newmandela.alarm                                   OK

newmandela.alarm_settings                          OK

newmandela.auth_group                              OK

...

使用 mysqlcheck 分析表

$ mysqlcheck -a radius payment_transactionrecord  -uroot -p

Enter password:

radius.payment_transactionrecord                   Table is already up to date

上面的命令 用来分析 radius 库的 payment_transactionrecord表, -a 表示 analyze

使用 mysqlcheck 优化表

# mysqlcheck -o radius payment_transactionrecord  -uroot -p

Enter password:

radius.payment_transactionrecord                   OK

-o 代表 optimize ,这里是优化 radius 库的 payment_transactionrecord 表

使用 mysqlcheck 修复表

# mysqlcheck -r radius payment_transactionrecord  -uroot -p

Enter password:

radius.payment_transactionrecord                   OK

-r 代表 repair ,这里是 修复 radius 库的 payment_transactionrecord 表

检查,优化,修复表组合命令

# mysqlcheck -uroot -p --auto-repair -c -o newmandela

Error:  mysqlcheck doesn't support multiple contradicting commands.

上面的命令报错了,去掉 -c

# mysqlcheck -uroot -p --auto-repair -o newmandela

Enter password:

newmandela.account

note     : Table does not support optimize, doing recreate + analyze instead

status   : OK

newmandela.alarm

note     : Table does not support optimize, doing recreate + analyze instead

status   : OK

newmandela.alarm_settings

note     : Table does not support optimize, doing recreate + analyze instead

status   : OK

每张表都出现了 Table does not support optimize, doing recreate + analyze instead, 代表什么意思呢? 它的意思不是说 innodb 引擎不支持 优化,可以参考 http://stackoverflow.com/questions/30635603/what-does-table-does-not-support-optimize-doing-recreate-analyze-instead-me 的回答。

mysqlcheck 常用选项

A, –all-databases 表示所有库

-a, –analyze 分析表

-o, –optimize 优化表

-r, –repair 修复表错误

-c, –check 检查表是否出错

–auto-repair 自动修复损坏的表

-B, –databases 选择多个库

-1, –all-in-1 Use one query per database with tables listed in a comma separated way

-C, –check-only-changed 检查表最后一次检查之后的变动

-g, –check-upgrade Check for version dependent changes in the tables

-F, –fast Check tables that are not closed properly

–fix-db-names Fix DB names

–fix-table-names Fix table names

-f, –force Continue even when there is an error

-e, –extended Perform extended check on a table. This will take a long time to execute.

-m, –medium-check Faster than extended check option, but does most checks

-q, –quick Faster than medium check option

Scan mobile WeChat

Continue reading immediately in the Mini programs

© Website copyright and disclaimer

1.[honmau Media] independently owns the copyright of all materials on relevant pages of this website;

2. No one is allowed to copy it without the express written permission of [honmau Media];

3. The articles that do not indicate "honmau Media" on this website are all from the Internet and are only for everyone to learn and refer;

4. If there is any infringement/violation/irregularity, please contact customer service QQ or email to delete it, please understand;

5.[honmau Media] reserves the right to correct, modify and update this statement at any time.legal notice

Recently, do you want to customize and develop a Mini programs/website/hosted operation and maintenance service?
submission
Working days: 8:30 - 22:00  Online QQ customer service

customer service

Company Introduction
top