wordpress博客用久了之后数据库会有很多没用的数据,我们可以用代码删除掉。减小数据库的占用加快网站的访问速度。以前的代码mysql_query方式不支持php7+,以下代码简单修改了支持php7.3版本分享出来。保存clean.php文件(UTF-8无BOM)上传到网站目录,打开即可完成清理。清理完成后会显示“清理完成!”。防止意外清理前请先备份数据。
<?php //wordpress数据库优化脚本 by 77nn.net $blog=mysqli_connect("localhost","username","password","database"); //依次是数据库主机、数据库用户名、数据库密码、数据库名,同wp-config.php mysqli_query($blog , "set names utf8");//设置数据库编码utf8 mysqli_query($blog,'DELETE FROM wp_posts WHERE post_type = "revision"');//删除文章修订版本 mysqli_query($blog,'DELETE FROM wp_commentmeta WHERE meta_key LIKE "%trash%"'); mysqli_query($blog,'DELETE FROM wp_comments WHERE comment_approved = "trash"');//删除所有垃圾评论 mysqli_query($blog,'DELETE FROM wp_options WHERE option_name REGEXP "_transient_"');// //清理日志字段类wp_postmeta mysqli_query($blog,'DELETE FROM wp_postmeta WHERE meta_key = ‘wp_old_slug’');//wordpress文章更换别名时,会在postmeta表中留存一个旧的别名信息,如果你的主题使用不到这个字段,可以考虑删除 mysqli_query($blog,'DELETE FROM wp_postmeta WHERE meta_key = "_edit_lock"'); mysqli_query($blog,'DELETE FROM wp_postmeta WHERE meta_key = "_edit_last"'); //WordPress后台上传图片或附件会在wp_postmeta中生成_wp_attached_file和_wp_attachment_metadata两个项,wp_posts也会记录附件的信息。如果使用FTP工具上传文件,表中就不会有这些信息,如果你不需要管理你的多媒体文件可以使用下面的两句进行清理。 mysqli_query($blog,'DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_attached_file’'); mysqli_query($blog,'DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_attachment_metadata’'); mysqli_query($blog,"delete from wp_posts where (post_status='auto-draft' or post_status='inherit') and post_type='post'"); mysqli_close($blog); echo '清理完成!';
评论0