Index: wp-includes/wp-db.php
===================================================================
--- wp-includes/wp-db.php	(revision 18456)
+++ wp-includes/wp-db.php	(working copy)
@@ -461,6 +461,20 @@
 	var $func_call;
 
 	/**
+	 * Whether MySQL is used as the database engine.
+	 *
+	 * Set in WPDB::db_connect() to true, by default. This is used when checking
+	 * against the required MySQL version for WordPress. Normally, a replacement
+	 * database drop-in (db.php) will skip these checks, but setting this to true
+	 * will force the checks to occur.
+	 *
+	 * @since 3.3.0
+	 * @access public
+	 * @var bool
+	 */
+	public $is_mysql = null;
+
+	/**
 	 * Connects to the database server and selects a database
 	 *
 	 * PHP5 style constructor for compatibility with PHP5. Does
@@ -1013,6 +1027,9 @@
 	 * @since 3.0.0
 	 */
 	function db_connect() {
+
+		$this->is_mysql = true;
+
 		if ( WP_DEBUG ) {
 			$this->dbh = mysql_connect( $this->dbhost, $this->dbuser, $this->dbpassword, true );
 		} else {
Index: wp-admin/includes/update-core.php
===================================================================
--- wp-admin/includes/update-core.php	(revision 18456)
+++ wp-admin/includes/update-core.php	(working copy)
@@ -337,7 +337,10 @@
 	$required_mysql_version = '5.0';
 	$wp_version = '3.2';
 	$php_compat     = version_compare( $php_version, $required_php_version, '>=' );
-	$mysql_compat   = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );
+	if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $this->is_mysql ) )
+		$mysql_compat = true;
+	else
+		$mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' );
 
 	if ( !$mysql_compat || !$php_compat )
 		$wp_filesystem->delete($from, true);
Index: wp-admin/upgrade.php
===================================================================
--- wp-admin/upgrade.php	(revision 18456)
+++ wp-admin/upgrade.php	(working copy)
@@ -38,7 +38,10 @@
 $php_version    = phpversion();
 $mysql_version  = $wpdb->db_version();
 $php_compat     = version_compare( $php_version, $required_php_version, '>=' );
-$mysql_compat   = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );
+if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) )
+	$mysql_compat = true;
+else
+	$mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' );
 
 @header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) );
 ?>
Index: wp-admin/update-core.php
===================================================================
--- wp-admin/update-core.php	(revision 18456)
+++ wp-admin/update-core.php	(working copy)
@@ -40,8 +40,12 @@
 			$submit = __('Re-install Now');
 			$form_action = 'update-core.php?action=do-core-reinstall';
 		} else {
-			$php_compat     = version_compare( $php_version, $update->php_version, '>=' );
-			$mysql_compat   = version_compare( $mysql_version, $update->mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );
+			$php_compat     = version_compare( $php_version, $update->php_version, '>=' );			
+			if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) )
+				$mysql_compat = true;
+			else
+				$mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' );
+
 			if ( !$mysql_compat && !$php_compat )
 				$message = sprintf( __('You cannot update because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.'), $update->current, $update->php_version, $update->mysql_version, $php_version, $mysql_version );
 			elseif ( !$php_compat )
