在一个WP安装上使用两个不同的数据库用户

时间:2017-04-26 作者:Daniel

我很好奇以下是否可能,因为有人担心所讨论的WP站点可能会通过前端&;通过插件。。

我们希望前端通过只读DB用户进行连接,我们希望管理区域具有读/写权限,但此URL受服务器防火墙规则的保护,该规则只允许内部流量,我愿意接受其他建议

1 个回复
最合适的回答,由SO网友:Aftab 整理而成

我用两个不同的数据库设置了WP实例,一个用于只读,另一个用于管理。

但是,一旦管理员进行了更改,就应该复制admin-DB并将其添加到SLAVE-DB服务器。

// check if url contains wp-login or wp-admin and then create DB configuration for Master DB else Slave DB.
$url = "http://".$_SERVER[\'HTTP_HOST\'].$_SERVER[\'REQUEST_URI\'];
if ( false !== strpos( $url, \'wp-admin\' ) || false !== strpos( $url, \'wp-login\' ) ) {
    define( \'DB_NAME\', \'SLAVE_DB_NAME\' );
    define( \'DB_USER\', \'SLAVE_DB_USER\' );
    define( \'DB_PASSWORD\', \'SLAVE_DB_PASSWORD\' );
    define( \'DB_HOST\', \'SLAVE_DB_HOST\' );
} else {
    define( \'DB_NAME\', \'MASTER_DB_NAME\' );
    define( \'DB_USER\', \'MASTER_DB_USER\' );
    define( \'DB_PASSWORD\', \'MASTER_DB_PASSWORD\' );
    define( \'DB_HOST\', \'MASTER_DB_HOST\' );

}

相关推荐

Replace domain in database

我的网站受到攻击,所以基本上所有的核心php文件都已损坏。只剩下数据库。现在我在本地主机中进行了尝试。如果我想从这个数据库恢复我的站点,域名是我唯一需要替换字符串的东西吗</我找到了这个教程-Replace string in database - 更改所有表中的域字符串,但几乎不知道将其放入何处以及如何在wordpress中触发它