将WPMS从Apache迁移到IIS7导致数据库错误

时间:2012-04-04 作者:joshmax

//请务必阅读底部的更新

我在XP 2003服务器上的XAMPP上有一个大型多站点安装,正在尝试将其从XAMPP/Apache移动到一个新的带有IIS7的Windows 2008服务器。

我可以成功地安装新的WP并运行,并且可以让多站点完美地工作。当我导入旧的WPMS MySQL数据库并更改DB_NAME 在我的wp-config.php 如果要使用旧的WPMS数据库而不是新的WPMS数据库,我会遇到“建立数据库连接时出错”

这是我的wp-config.php 设置:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define(\'DB_NAME\', \'migrated_DB_2012\');

/** MySQL database username */
define(\'DB_USER\', \'wpms_user_2012\');

/** MySQL database password */
define(\'DB_PASSWORD\', \'wpms_password\');

/** MySQL hostname */
define(\'DB_HOST\', \'localhost\');

/** Database Charset to use in creating database tables. */
define(\'DB_CHARSET\', \'utf8\');

/** The Database Collate type. Don\'t change this if in doubt. */
define(\'DB_COLLATE\', \'\');
我已经仔细检查了用户名&;甚至多次更改密码以确保它们匹配。我试过了localhost, 127.0.0.1, DB\\U名称的服务器本身的IP地址。没有什么

我终于成功连接到数据库了!

访问域名首页(http://domain.com)给了我Error establishing database connection 消息,但正在尝试访问仪表板/管理区域(http://domain.com/wp-admin)帮助我发现了问题。在我多次更改数据库/用户名时,我忽略了对wpms_user_2012 在…上migrated_DB_2012. D\'OH!

//新问题

我在访问首页时仍然遇到数据库错误,但现在当我访问/wp-admin, 我看到以下情况:

一个或多个数据库表不可用。可能需要修复数据库

当我遵循“修复”链接时,它会引导我完成自动修复序列,但由于这是一个多站点安装,它跳过了几个表,并告诉我以下表不存在:

wp\\u帖子wp\\u评论wp\\u链接wp\\u选项wp\\u postmeta wp\\u术语wp\\u分类仅限于这些表格do 存在,但其存在形式为:wp_1_posts, wp_1_comments, 等

为了让迁移的数据库正常工作,下一步应该做什么?

让我再解释一下这个安装,我从头开始安装一个新的WP,用网络进行设置,然后复制旧的/blogs.dir 转到新wp-content/.

(重新安装的理由:我相信我的旧网站已经被黑客入侵,我想防止任何泄露的核心文件被转移到新服务器。)

接下来,我导入了我的旧数据库(migrated_WPMS_database) 通过phpMyAdmin进入MySQL,为wpms_user 并设置wp-config.php 使用正确的数据库/用户/密码信息。

我运行了WP维修,您可以看到我的// Update 对于结果。基本上,它告诉我主站点的表不在那里:我读到“修复”功能不能很好地与WPMS配合使用,因为它需要wp_[tableNames] 而不是wp_1_[tableNames]. 我弄错了吗?

在这之后,我甚至通过phpMyAdmin运行了它的内置“修复”。

我仍然可以成功连接到新安装的数据库(test_database) 如果我改变wp-config.php 照着所以,它is 看到它是一个网络is 也能够成功连接到数据库服务器。

根据WP维修结果,WP似乎仍在寻找wp_[tableNames] 而不是wp_1_[tableNames], 是这样吗?为什么会这样?由于尝试访问时收到的消息,在迁移的数据库的表或其他表中一定有我缺少的东西wp-admin:

一个或多个数据库表不可用。可能需要修复数据库

如果有帮助的话,我的旧站点在合并之前被设置为WPMU,所以旧站点wp-config.php 设置略有不同,如果我使用它而不是更新的3.3wp-config.php, 我的前端变成了一个空白屏幕,我可以进入wp登录屏幕。。。但这只会让我进入一个重定向循环,返回到登录页面。

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

我在论坛mod的帮助下自己解决了这个问题wordpress.org. 你可以see the full forum post here.

结束