Agencia Marketing Digital Web Studio Posicionamiento Global SEO

Como restaurar un sitio wordpress con base de datos dañada y sin acceso

Previamente explicamos cómo restaurar un sitio web wordpress con daños menores del core “maquinaria wordpress”, pues hoy continuamos pero en un caso diferente y es que es mucho ms delicado cuando nuestra base de datos está dañada por algún problema de seguridad.

base-de-datos-wordpress

base-de-datos-wordpress

Paso 1 : Primero vamos a nuestro cpanel o administrador de hosting y directamente no vamos a entrar en detalles debe tener como todos los hosting del mundo phpMy Admin justo donde vamos a trabajar.

Paso 2: Como sabemos el archivo de wp-config.php se encuentran los datos necesarios para ingresar a nuestra base de datos a través de phpMy Admin, ejemplo

// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘ususariodb_wp4’); <== nombre base de datos
/** MySQL database username */
define(‘DB_USER’, ‘ususariodb_wp4’); <== nombre usuario base de datos
/** MySQL database password */
define(‘DB_PASSWORD’, ‘fdvdjvdwedEsGaAESCSVWEdcd’); <== password base de datos
/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’); <== ubicación de nuestra base de datos

/*** Other customizations. */ define(‘FS_METHOD’,’direct’);define(‘FS_CHMOD_DIR’,0755);define(‘FS_CHMOD_FILE’,0644);
define(‘WP_TEMP_DIR’,dirname(__FILE__).’/wp-content/uploads’); <== Ubicación archivos e imágenes transitorias wordpress

Paso 3: Una vez dentro de nuestro phpMy Admin vamos a respaldar las tabla completa, algunos hosting tienen esta función en automático otros no la intención es bajar el archivo .sql donde se encuentran todos nuestros post, comments, textos, etc..

phpMy Admin / Exportar / formato sql / aceptar y guardar

Paso 4: Una vez descargado el archivo abrir con archivo de texto “notepad” o el que tengas x sistema.

Paso 5: Respaldar archivos /wp-content/uploads’

Paso 6: Crear una nueva base de datos e instalar un nuevo wordpress.

Paso 7: Revisa nuestra carpeta /wp-content/uploads y checar que solo contenga imágenes o si usas archivos especiales como pdf o mp3 etc.. Verificar los archivos que no contenga código no reconocido, una vez revisado nuestros archivos subir a /wp-content/uploads <= limpios.

Paso 8: Reconstruir tablas aquí solo vamos a utilizar un ejemplo en el caso de los posts , en nuestro respaldo de base de datos archivo .sql vamos a buscar “wp_posts”


— Estructura de tabla para la tabla `wp_posts`

CREATE TABLE IF NOT EXISTS `wp_posts` (
`ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`post_author` bigint(20) unsigned NOT NULL DEFAULT ‘0’,
`post_date` datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
`post_date_gmt` datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
`post_content` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`post_title` text COLLATE utf8mb4_unicode_ci NOT NULL,
`post_excerpt` text COLLATE utf8mb4_unicode_ci NOT NULL,
`post_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘publish’,
`comment_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘open’, `ping_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘open’,
`post_password` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT »,
`post_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT »,
`to_ping` text COLLATE utf8mb4_unicode_ci NOT NULL,
`pinged` text COLLATE utf8mb4_unicode_ci NOT NULL,
`post_modified` datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
`post_modified_gmt` datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
`post_content_filtered` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`post_parent` bigint(20) unsigned NOT NULL DEFAULT ‘0’,
`guid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT »,
`menu_order` int(11) NOT NULL DEFAULT ‘0’,
`post_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT ‘post’,
`post_mime_type` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT »,
`comment_count` bigint(20) NOT NULL DEFAULT ‘0’,
PRIMARY KEY (`ID`),
KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`),
KEY `post_parent` (`post_parent`),
KEY `post_author` (`post_author`),
KEY `post_name` (`post_name`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=482 ;


— Volcado de datos para la tabla `wp_posts`

**** y posteriormente aparecen todas tus entradas ***

Como la tabla ya existe en este caso wp_posts solo tenemos que alimentarla con las entradas y para eso vamos a la tabla wp_posts y en SQL vamos a EJECUTAR un:

INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES
texto entradas
texto entradas
texto entradas
texto entradas
texto entradas

Listo nuestra tabla de wp_posts ya está alimentada con nuestras entradas, ojo existen millones de brechas de seguridad es importante antes de alimentar tus tablas revisar en busca de código no reconocido, para evitar volver alimentar tu nuevo sitio wordpres con código desconocido.

Hay cosas que tendrás que configurar a mano como: plugins, widgets, menus, etc… Aunque si observas bien también te darás cuenta en que tablas corresponden a cada uno y podrás restaurar directo de SQL todas las configuraciones.

Bueno esperamos que este micro tutorial te sea de ayuda y te dé una idea sobre cómo puedes restaurar tu sitios wordpress en cualquier caso, DB dañada y DB no dañada.

seowmx team