您的位置:首页 > 数据库

直接用代码修改wordpress数据库前缀的方法

2015-03-12 00:00 567 查看
用wordpress建站之后一般安装的时候很多人都是选择的默认配置。后期的数据库默认前缀就会存在一些安全隐患。为了安全起见一般都会修改数据库前缀。如果自己懂这方面的操作。当然也很简单。但是也有更加便捷的方法,你不需要进数据库管理工具就可以直接修改每个表的前缀。


下面就分享一下用代码直接修改wordpres数据库前缀的方法:
一、修改MySQL数据库
1、将以下代码保存为rename_suffix.php,并根据自己需要修改第11、12行。
< ?php
header("Content-type: text/html; charset=utf-8");
/////////下面两行您需要修改///////////
$oldtablepre='wp_'; //旧的表前缀
$newtablepre='new_'; //您要修改成新的表前缀
/////////上面两行您需要修改///////////

##########@以下请勿修改@###########################!DONT CHANGE BELOW!##################################################
require_once( dirname(__FILE__) . '/wp-load.php' );

$tables=array("{$oldtablepre}commentmeta","{$oldtablepre}comments","{$oldtablepre}links","{$oldtablepre}options","{$oldtablepre}postmeta","{$oldtablepre}posts","{$oldtablepre}terms","{$oldtablepre}term_relationships","{$oldtablepre}term_taxonomy","{$oldtablepre}usermeta","{$oldtablepre}users");

echo '<div style="font-size:1.2em;"><span style="color:gray;font-weight:bold;">下面更改表名:</span><hr />';

foreach ($tables as $key => $value){
    $oldtable=$value;
    $newtable=str_replace($oldtablepre,$newtablepre,$value);
    $wpdb->query("ALTER TABLE `$oldtable` RENAME TO `$newtable`");
    echo '成功更改表名'.$oldtable.'为:<span style="color:green;">'.$newtable.'</span><br />';
}

echo '<span style="color:gray;font-weight:bold;">下面更改'.$newtablepre.'options表中的键值:</span><hr />';

$wpdb->query("update `{$newtablepre}options` set `option_name`=replace(option_name,'{$oldtablepre}user_roles','{$newtablepre}user_roles')");

echo '成功更改'.$oldtablepre.'user_roles为:<span style="color:green;">'.$newtablepre.'user_roles</span><br />';

$meta_key=array("{$oldtablepre}capabilities","{$oldtablepre}user_level","{$oldtablepre}autosave_draft_ids","{$oldtablepre}usersettings","{$oldtablepre}usersettingstime");

echo '<span style="color:gray;font-weight:bold;">下面更改'.$newtablepre.'usermeta表中的键值:</span><hr />';

foreach ($meta_key as $key => $value){
    $oldoption=$value;
    $newoption=str_replace($oldtablepre,$newtablepre,$value);
    $rs=$wpdb->query("update `{$newtablepre}usermeta` set `meta_key` =replace(meta_key,'$oldoption','$newoption')");
    echo '成功更改'.$oldoption.'为:<span style="color:green;">'.$newoption.'</span><br />';
}
echo '';
?>
2、将rename_suffix.php文件上传至站点根目录下,确保该文件与wp-config.php文件位于同级目录。
3、在浏览器中访问rename_suffix.php文件,即http://你的域名.com/rename_suffix.php
二、 修改站点配置文件
1、将站点根目录下的wp-config.php文件中的数据库前缀修改为最新前缀,并保存就可以了。如果你是通过FTP将wp-config.php文件文件下载到本地后修改,还需要将保存后的文件上传至服务器并覆盖原有文件。
2、访问站点,看看网站前后台是否均运行正常。通过以上两步,修改数据库前缀就是这么简单。
注:如果你不清楚当前数据库前缀,可以查看站点根目录下的wp-config.php文件,确定前缀。前缀名称什么的自己可以随便修改。代码注解里面都已经写的很清楚了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐