加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

怎样维护及优化mysql数据库

发布时间:2023-09-27 15:22:18 所属栏目:MySql教程 来源:
导读:本文主要给大家简单讲讲如何维护及优化mysql数据库,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望如何维护及优化mysql数据库这篇文章可以给大家带来一些实际帮

本文主要给大家简单讲讲如何维护及优化mysql数据库,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望如何维护及优化mysql数据库这篇文章可以给大家带来一些实际帮助。
 
●回收表空间
 
当数据表大量删除数据时,用OPTIMIZE TABLE进行空间回收,原理时新建一张数据表,再将内容复制到新表:
 
 OPTIMIZE TABLE  "TABLENAME";
 
InnoDB要用以下命令进行重建:
 
ALTER TABLE table.name ENGINE='InnoDB';
 
否则会出现错误:
 
Table does not support optimize, doing recreate + analyze instead
 
●检查数据表状态
 
ANALYZE TABLE ,用来检查表键是否正确。
 
ANALYZE TABLE mmb:
 
●CHECK TABLE 用来针对许多问题对表进行检查:
 
如下所示, CHECKTABLE 发现和修复问题:
 
check  table  orders, orderitems;
 
在 MyISAM 表上还对索引进行检查。CHECK TABLE 支持一系列的用于 MyISAM 表的方式。
 
参数:
 
CHANGED 检查自最后一次检查以来改动过的表;
 
EXTENDED 执行最彻底的检查, FAST 只检查未正常关闭的表, MEDIUM 检查所有被删除的链接并进行键检验;
 
QUICK 只进行快速扫描;
 
如果 MyISAM 表访问产生不正确和不一致的结果,可能需要用REPAIR TABLE 来修复相应的表。这条语句不应该经常使用,如果需要经常使用,可能会有更大的问题要解决。
 
●修改内存分配量和缓冲区大小等:
 
查看MYSQL当前状态:
 
SHOW STATUS;
 
查看MYSQL当前设置:
 
SHOW VARIABLES;
 
修改MYSQL当前设置:
 
大部分参数可以用set 直接修改当前参数,但会在服务重启后失效,所以还是得将参数写到my.cnf文件中.
 
●显示MYSQL线程信息SHOW PROCESSLIST
 
这个command,state和info列应该是最重要的,显示语句正在处于什么状态,方便分析.command状态的数量不应该有很多,这会占用连接池,严重浪费系统资源.
 
●KILL 进程:
 
kill 33;     --结束上图id为33的进程
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章