WordPress 更改数据库表前缀后无法登录后台的解决办法 0
今天花了几个小时来研究Wordpress数据库中的表格改名和备份问题。
建立这个Wordpress平台时用的wp-config.php文件是从另外一个Wordpress继承下来的,当时忘记了更改表名前缀,造成了两个Blog在数据库里的表格名字相同。虽然现在它们使用的是不同的数据库,但考虑到以后的转移和备份问题,还是改成不同前缀比较保险。
放狗搜索了一下,在我爱水煮鱼那里发现一篇不错的教程。
更改 WordPress 数据库表名前缀步骤:
禁用所有插件,然后通过 phpmyadmin 备份你的 WordPress 数据库。
用文本编辑器打开你备份的数据库文件(*.sql),查找“wp_”,并用你准备用的表明比如“Bssn_”替换。
使用 phpmyadmin 将你当前数据库 WordPress 表删除。
导入你刚才修改了的备份文件。
修改wp-config.php文件,将$table_prefix = ‘wp_’; 改为 $table_prefix = ’Bssn_’;
到后台开启所有插件。(如果备份之前没有禁用插件,可能会导致插件工作不正常,到插件管理重新开启即可。)
顺便提一下修改表名前缀的sql语句为:
ALTER TABLE wp_bssn RENAME TO bssn_bssn
此句将把 wp_bssn 表更名为 bssn_bssn。
我的Phpmyadmin导出数据库可以,但是试了很多次都不能导入,总是显示无效数据,放狗搜索也没找到解决办法。于是决定不导出直接在数据库里修改。
更改wordpress所有表格前缀的命令:
ALTER TABLE dz512_comments RENAME TO blg_comments ; ALTER TABLE dz512_links RENAME TO blg_links ; ALTER TABLE dz512_options RENAME TO blg_options ; ALTER TABLE dz512_postmeta RENAME TO blg_postmeta ; ALTER TABLE dz512_posts RENAME TO blg_posts ; ALTER TABLE dz512_terms RENAME TO blg_terms ; ALTER TABLE dz512_term_relationships RENAME TO blg_term_relationships ; ALTER TABLE dz512_term_taxonomy RENAME TO blg_term_taxonomy ; ALTER TABLE dz512_usermeta RENAME TO blg_usermeta ; ALTER TABLE dz512_users RENAME TO blg_users ; ALTER TABLE dz512_Counterize RENAME TO blg_Counterize; ALTER TABLE dz512_Counterize_Keywords RENAME TO blg_Counterize_Keywords; ALTER TABLE dz512_Counterize_Pages RENAME TO blg_Counterize_Pages; ALTER TABLE dz512_Counterize_Referers RENAME TO blg_Counterize_Referers; ALTER TABLE dz512_Counterize_UserAgents RENAME TO blg_Counterize_UserAgents; ALTER TABLE dz512_ss_search RENAME TO blg_ss_search; ALTER TABLE dz512_ss_stats RENAME TO blg_ss_stats;
我的例子里是把原来的前缀”dz512_”改成”blg_”。上面的部分是Wordpress自身生成的表格,下面的部分是插件用到的表格。
执行这些sql语句后,所有表格的前缀就改好了,接下来修改wp-config.php文件里的表头前缀。做完这两步之后,blog显示正常,但是后台无法登录。这是因为还需要额外更改两处地方,在phpmyadmin里搜索旧前缀可以看到:
- 一是blg_options 这个表格。在大约第七十条左右的地方,有一个”option_name”为”dz512_user_roles” 的项,需要更新前缀。

- 二是blg_usermeta。这个表格存储了用户相关信息,需要把里面”meta_key”里所有旧前缀更新。
替换字段用到的命令:
update blg_usermeta set meta_key = replace(meta_key,’dz512_’,'blg_’)
(上面这条命令还可以在更改blog目录后用来修正 posts_meta 和 posts 表格里面论坛附件的地址。)
现在后台应该可以登录了。









subscribe to comments RSS
There are no comments for this post