数据库|mysql教程
Mysqlcheck,MYSQL,优化表
数据库-mysql教程
asp源码编写留言页,vscode全栈插件,ubuntu待机唤醒,tomcat xml缓存,sqlite数据库去重,爬虫订单数据抓取犯法吗,数字证书 php,鹤岗seo优化网络推广,039 织梦云idc网站源码,下载网页元素,动态网页留言板模板下载lzw
易语言计算器源码,ubuntu怎样新建脚本,tomcat本身带jdk吗,厦门爬虫公司,php实现ssh终端,长寿区智能化seo推广哪家好lzw
以下的例子都是基于 MySQL 5.6 版本运行状态下(mysqlcheck是个在线工具), 不同的存储引擎对于这个命令的支持程度不同(指的是 check, repair, analyze, optimize),下面内容偏于操作,主要基于 innodb 引擎。
梦幻传奇3官方网站源码,ubuntu登陆不,tomcat7升8注意事项,爬虫小宠物视频,php 百分号编码,seo目标规划lzw
提示:OPTIMIZE 在大表时候可能会消耗很多时间,不清楚原理情况下请谨慎使用!!! innodb 一般不用 OPTIMIZE,请参见 Using MySQL OPTIMIZE tables? For InnoDB? Stop
检查特定的表
注意在shell中执行,不是在mysql的交互环境下
如果应用中提示某个表坏了,使用下面的命令来检查。
$ mysqlcheck -c newmandela order -uroot -pEnter password:newmandela.order OK
newmandela 是库名, order是表名,还需要输入用户名和密码
检查一个库中的所有表
$ mysqlcheck -c newmandela -uroot -pEnter password:newmandela.account OKnewmandela.alarm OKnewmandela.alarm_settingsOKnewmandela.auth_group OKnewmandela.auth_group_permissions OKnewmandela.auth_permission OK...
检查所有库中的所有表
全部的库和表都检查一遍了。
$mysqlcheck -c --all-databases -uroot -pEnter password:apmonitor.acinfo OKapmonitor.apdailystsOKapmonitor.apinfo OKapmonitor.apmonthstsOKapmonitor.apscanlogOKapmonitor.auth_groupOK...
如果只想检查某几个库呢? 可以使用 –databases 参数
$ mysqlcheck -c --databases newmandela radius -uroot -pEnter password:newmandela.account OKnewmandela.alarm OKnewmandela.alarm_settingsOKnewmandela.auth_group OK...
使用 mysqlcheck 分析表
$ mysqlcheck -a radius payment_transactionrecord -uroot -pEnter password:radius.payment_transactionrecord Table is already up to date
上面的命令 用来分析 radius 库的payment_transactionrecord
表,-a
表示 analyze
使用 mysqlcheck 优化表
# mysqlcheck -o radius payment_transactionrecord -uroot -pEnter password:radius.payment_transactionrecord OK
-o
代表 optimize ,这里是优化 radius 库的payment_transactionrecord
表
使用 mysqlcheck 修复表
# mysqlcheck -r radius payment_transactionrecord -uroot -pEnter password:radius.payment_transactionrecord OK
-r
代表 repair ,这里是 修复 radius 库的payment_transactionrecord
表
检查,优化,修复表组合命令
# mysqlcheck -uroot -p --auto-repair -c -o newmandelaError: mysqlcheck doesn support multiple contradicting commands.
上面的命令报错了,去掉-c
# mysqlcheck -uroot -p --auto-repair -o newmandelaEnter password:newmandela.accountnote: Table does not support optimize, doing recreate + analyze insteadstatus : OKnewmandela.alarmnote: Table does not support optimize, doing recreate + analyze insteadstatus : OKnewmandela.alarm_settingsnote: Table does not support optimize, doing recreate + analyze insteadstatus : OK
每张表都出现了Table does not support optimize, doing recreate + analyze instead
, 代表什么意思呢? 它的意思不是说 innodb 引擎不支持 优化,
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
如果觉得《怎样使用Mysqlcheck来检查和修复 优化表的详解》对你有帮助,请点赞、收藏,并留下你的观点哦!