• My multisite network has become corrupted, and I can no longer access the backend (or frontend) of any of the blogs aside from the main blog. We were using a subdirectory setup, and WordPress is installed in a subdirectory itself.

    I want to try to recover as much as possible from the 65+ subsites in the multisite network. User tables and content tables, preferably. But I can’t use the native WP export tool for any sites aside from the main blog, simply because I can’t access the backends.

    If I export the databases through phpMyAdmin, will I be able to import them into a fresh multisite install on a site-by-site basis? Do I just need to export the main blog’s database, or should I look for each site’s database in phpMyAdmin? And what format is best for the export – SQL? XML? CSV?

    Any advice is appreciated!

Viewing 7 replies - 1 through 7 (of 7 total)
  • You’ll need the entire database to get all the blogs. It will give you a SQL dump or a zip. All the blogs are in a single database.

    Are you sure it’s corrupted? If it’s the db tables that are corrupted, you’ll need to fix those, and a simple copy to a new server won’t fix that.

    If the files are actually corrupted then you just upload new WP files, that’s it.

    If the subfolder blogs just aren’t working – that’s an htaccess issue, not corrupt files.

    If you could further explain the real problem, I can better help fix it. ?? I don’t want to see you go down the wrong path and do a bunch of work that won’t matter. I know you said you can’t access the backend, but that doesn’t describe the issue. You get redirected? It’s a white screen? A 404? What?

    And have you tried just disabling plugins?

    Thread Starter katemgilbert

    (@katemgilbert)

    @andrea_r – Thanks for your response.

    2 days ago everything was functioning fine. Woke up yesterday and all subsites were producing a 500 internal error. I see this error at the subsite URL, at the subsite /wp-admin, and when trying to navigate to the backend via the SuperAdmin sites listing when logged in to the main blog.

    Contacted the hosting provider (TMD) right away. They said it had to be a script error. I found this thread https://www.ads-software.com/support/topic/int-server-error-when-viewing-multiuser-subdirectory-blog?replies=6 and so looked at the .htaccess to try to pinpoint the error, but everything looks okay to me.

    .htaccess contents below:

    Options +FollowSymLinks -Indexes

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /inside
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    #uploaded files
    RewriteRule ^(.*/)?files/$ index.php [L]
    RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
    RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]

    # add a trailing slash to /wp-admin
    RewriteCond %{REQUEST_URI} ^.*/wp-admin$
    RewriteRule ^(.+)$ $1/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule . - [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L]
    RewriteRule . index.php [L]

    <IfModule mod_security.c>
    <Files async-upload.php>
    SecFilterEngine Off
    SecFilterScanPOST Off
    </Files>
    </IfModule>

    Does anything look amiss to you?

    I will try now disabling all plugins from the main blog. Should I also delete plugin files off the server, since I can’t disable plugins on the subsites without backend access?

    Is this a WordPress 3 Multi-Site install? If so, you should probably change the line:

    RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]

    to

    RewriteRule ^(.*/)?files/(.*) wp-includes/ms-files.php?file=$2 [L]

    The file /wp-content/blogs.php is no longer used in 3.0.

    Here’s what a default .htaccess file looks like: https://wordpress.pastebin.com/WzdqgRNb

    Try using that one and see if it helps.

    For plugins, rename the plugins and mu-plugins directories to something else (adding “-old” to the directory names works). This will unload them from the system without losing the files.

    Thread Starter katemgilbert

    (@katemgilbert)

    Tim – Replacing my .htaccess with the default one you provided at Pastebin restored access to the various site backends. Yay! But viewing the sites is still producing a 500 internal server error.

    I renamed the plugin directories too as you suggested but no relief there.

    I am going to try running the Export tool on a couple subsites now that I can get to the tool in each site’s backend. Is there any concern with taking this content and importing it into a fresh install in terms of carrying over whatever problem caused this?

    Was also going to try running the WP database repair script

    define('WP_ALLOW_REPAIR', TRUE);

    as suggested here: https://wpmu.org/wordpress-maintenance-101-how-to-optimize-and-repair-database-tables/

    Any risk in trying that method?

    Thanks so much to both of you for help with this.

    A 500 error is a server based error though. It’s quite possible restoring the db on a new site on the same server will produce the same result. ??

    When you disabled plugin, did you also disable anything in the mu-plugins folder, if you were using it?

    Thread Starter katemgilbert

    (@katemgilbert)

    Yes, I disabled all plugins, and renamed both plugin folders. Now the backends show no plugins at all.

    Exporting and importing through the WP tool is working well so far for restoring content on a fresh install.

    Is there a method for exporting and importing users that will go as smoothly as the content export/import?

    Is there a method for exporting and importing users that will go as smoothly as the content export/import?

    Via phpmyadmin. ?? Grab the tables there.

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Exporting databases via phpMyAdmin for corrupted multisite install’ is closed to new replies.