一直都有改wordpress数据库前缀的想法,上次重新弄数据库的时候又忘记改了,还是wp_为前缀,看起来总是不舒服,于是今天下午在网上找了很久,发现没一个可以成功,于是就专门把十个表重新研究了下,大概也知道怎么做了,终于测试成功了,但为了完美,还是重新阅读了下sql的基础命令,以前也没学过sql,只能现学了,以下更改数据库前缀教程只需要在phpmyadmin运行十几个sql命令即可,傻瓜式的。
首先做的就是更改十个表的前缀,这个简单,命令如下:
ALTER TABLE wp_comments RENAME TO dianso_comments ALTER TABLE wp_options RENAME TO dianso_options ALTER TABLE wp_posts RENAME TO dianso_posts ALTER TABLE wp_postmeta RENAME TO dianso_postmeta ALTER TABLE wp_users RENAME TO dianso_users ALTER TABLE wp_usermeta RENAME TO dianso_usermeta ALTER TABLE wp_links RENAME TO dianso_links ALTER TABLE wp_terms RENAME TO dianso_terms ALTER TABLE wp_term_taxonomy RENAME TO dianso_term_taxonomy ALTER TABLE wp_term_relationships RENAME TO dianso_term_relationships
上面的命令就是将默认的前缀wp更改为dianso,如果你想更改前缀了,只需要把dianso替换为你喜欢的就可以。
然后需要在wp-config.php中找到
$table_prefix = 'wp_';
将它替换为
$table_prefix = 'dianso_';
本以为这样就完成了,但是后台发现登陆不上去了,于是再次查看数据库,发现options表中有项wp_user_roles,还有usermeta有以下三项也需要修改:
wp_autosave_draft_ids
wp_capabilities
wp_user_level
这四项中autosave_draft_ids是日志自动保存,user_roles和user_level是权限方面的,那个capabilities搞不懂是什么,但直觉告诉我也需要修改,所以继续在sql下运行以下命令:
update dianso_options set option_name = replace(option_name,'wp_user_roles','dianso_user_roles') update dianso_usermeta set meta_key = replace(meta_key,'wp_capabilities','dianso_capabilities') update dianso_usermeta set meta_key = replace(meta_key,'wp_user_level','dianso_user_level') update dianso_usermeta set meta_key = replace(meta_key,'wp_autosave_draft_ids','dianso_autosave_draft_ids')
这样,我们的目的也达到了,我可以保证,使用此方法可以100%保证对数据库没什么伤害,尽量不要使用编辑器等工具直接替换wp_,因为有些数据库中插件名,绝对地址,文章中都可能存在wp_这个关键词。
现在我的博客已经成功将wp_改为了dianso_,一切都正常,插件同样不需要关闭!
传说中的,精神洁癖 – -
PHP+Mysql….想要nb的人研究这个一定很nb。。。太深奥。
挺实用的。赞一个
原来是用传说中的sql语句
不错,很实用
同一空间装几个WordPress是需要该的
我的妈 好烦…-.-我让主机服务商给我改 哈哈
还是默认的算了,太麻烦
太好了,解决了我的大问题,非常感谢!
早知道就用这个完美的了!!!
这个好,转下了,以后可能会用到的!
太好了
数据库不止那10个表啊,好奇怪
是3.0以后的版本多了一个数据表,一共11个,多出来的可能是插件的、
那插件那些也要改吧,我也开启了多站点,好多的说,无从下手
不提醒不知道,以前用过的插件遗留了差不多10个表在那里
开启多站点后每个都要改,很麻烦的。