{"id":604,"date":"2021-03-25T10:47:32","date_gmt":"2021-03-25T10:47:32","guid":{"rendered":"https:\/\/mklasen.com\/?p=604"},"modified":"2022-01-20T00:31:28","modified_gmt":"2022-01-20T00:31:28","slug":"moving-a-multisite-database-errors-site-not-found","status":"publish","type":"post","link":"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/","title":{"rendered":"Moving a multisite: Database errors & site not found."},"content":{"rendered":"\n

Moving a multisite doesn’t always go with the ease you expect. I usually do this in two steps:<\/p>\n\n\n\n

  1. Export the database<\/li>
  2. Deploy\/copy\/sync the files to my new (staging) server<\/li><\/ol>\n\n\n\n

    When your files are ready and your new environment is configured it’s time to import the database. My preference goes to using WP-CLI for this. Copy over the database and run wp db import ~\/_sql\/database-export.sql<\/code>.<\/p>\n\n\n\n

    When you’re moving\/copying to a different domain, you also have to run database replacement scripts:<\/p>\n\n\n\n

    wp search-replace \"https:\/\/olddomain.com\" \"https:\/\/newdomain.staging.com\" --all-tables<\/code>
    And repeat this for your other subsites:
    wp search-replace \"https:\/\/sub.olddomain.com\" \"https:\/\/sub.newdomain.staging.com\" --all-tables<\/code><\/p>\n\n\n\n

    Then it’s time to load your website, and you’re presented with a big fat:<\/p>\n\n\n\n

    Error establishing a database connection<\/h3>\n\n\n\n

    Also, the wp-cli commands fail to run, showing errors like: Error: Site ‘newdomain.staging.com’ not found. Verify DOMAIN_CURRENT_SITE<\/em> matches an existing site or use --url=<\/code> to override.<\/p>\n\n\n\n

    Right.. so, there’s still something in the database that is not replaced.. You’ll find out when running: `wp db query “SELECT * FROM wp_blogs”`<\/p>\n\n\n\n

    This clearly shows that the domains of these sites are not replaced, because they don’t include https, so let’s run the command below to confirm the fix:<\/p>\n\n\n\n

    wp search-replace olddomain.com newdomain.staging.com wp_blogs --dry-run<\/code><\/p>\n\n\n\n

    Happy with the output? Then let’s run it without –dry-run:<\/p>\n\n\n\n

    The fix<\/strong><\/h2>\n\n\n\n

    wp search-replace olddomain.com newdomain.staging.com wp_blogs<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"

    Moving a multisite doesn’t always go with the ease you expect. I usually do this in two steps: Export the database Deploy\/copy\/sync the files to my new (staging) server When your files are ready and your new environment is configured it’s time to import the database. My preference goes to using WP-CLI for this. Copy […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[1],"tags":[],"acf":[],"yoast_head":"\nMoving a multisite: Database errors & site not found. - Marinus Klasen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Moving a multisite: Database errors & site not found. - Marinus Klasen\" \/>\n<meta property=\"og:description\" content=\"Moving a multisite doesn’t always go with the ease you expect. I usually do this in two steps: Export the database Deploy\/copy\/sync the files to my new (staging) server When your files are ready and your new environment is configured it’s time to import the database. My preference goes to using WP-CLI for this. Copy […]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/\" \/>\n<meta property=\"og:site_name\" content=\"Marinus Klasen\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/marinus.klasen\" \/>\n<meta property=\"article:author\" content=\"http:\/\/facebook.com\/marinus.klasen\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-25T10:47:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-01-20T00:31:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mklasen.com\/content\/uploads\/2020\/03\/cropped-cropped-mklasen-logo-margin-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Marinus Klasen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@http:\/\/twitter.com\/marinusklasen\" \/>\n<meta name=\"twitter:site\" content=\"@marinusklasen\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marinus Klasen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/\"},\"author\":{\"name\":\"Marinus Klasen\",\"@id\":\"https:\/\/mklasen.com\/#\/schema\/person\/bbad02776afb72dfba2ebfe1956a4e29\"},\"headline\":\"Moving a multisite: Database errors & site not found.\",\"datePublished\":\"2021-03-25T10:47:32+00:00\",\"dateModified\":\"2022-01-20T00:31:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/\"},\"wordCount\":214,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/mklasen.com\/#\/schema\/person\/bbad02776afb72dfba2ebfe1956a4e29\"},\"articleSection\":[\"General\"],\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/\",\"url\":\"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/\",\"name\":\"Moving a multisite: Database errors & site not found. - Marinus Klasen\",\"isPartOf\":{\"@id\":\"https:\/\/mklasen.com\/#website\"},\"datePublished\":\"2021-03-25T10:47:32+00:00\",\"dateModified\":\"2022-01-20T00:31:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/mklasen.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"General\",\"item\":\"https:\/\/mklasen.com\/general\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Moving a multisite: Database errors & site not found.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/mklasen.com\/#website\",\"url\":\"https:\/\/mklasen.com\/\",\"name\":\"Marinus Klasen\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/mklasen.com\/#\/schema\/person\/bbad02776afb72dfba2ebfe1956a4e29\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/mklasen.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"nl-NL\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/mklasen.com\/#\/schema\/person\/bbad02776afb72dfba2ebfe1956a4e29\",\"name\":\"Marinus Klasen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/mklasen.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/mklasen.com\/content\/uploads\/2021\/01\/DONE1171.jpg\",\"contentUrl\":\"https:\/\/mklasen.com\/content\/uploads\/2021\/01\/DONE1171.jpg\",\"width\":1500,\"height\":1000,\"caption\":\"Marinus Klasen\"},\"logo\":{\"@id\":\"https:\/\/mklasen.com\/#\/schema\/person\/image\/\"},\"description\":\"Marinus has been working in software\/web development for more than a decade. Since 2020 his attention shifted on sharing knowledge and developing products and tools for sharing knowledge. Marinus Klasen on Twitter\",\"sameAs\":[\"http:\/\/facebook.com\/marinus.klasen\",\"https:\/\/nl.linkedin.com\/in\/marinusklasen\",\"https:\/\/twitter.com\/http:\/\/twitter.com\/marinusklasen\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Moving a multisite: Database errors & site not found. - Marinus Klasen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/","og_locale":"nl_NL","og_type":"article","og_title":"Moving a multisite: Database errors & site not found. - Marinus Klasen","og_description":"Moving a multisite doesn’t always go with the ease you expect. I usually do this in two steps: Export the database Deploy\/copy\/sync the files to my new (staging) server When your files are ready and your new environment is configured it’s time to import the database. My preference goes to using WP-CLI for this. Copy […]","og_url":"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/","og_site_name":"Marinus Klasen","article_publisher":"http:\/\/facebook.com\/marinus.klasen","article_author":"http:\/\/facebook.com\/marinus.klasen","article_published_time":"2021-03-25T10:47:32+00:00","article_modified_time":"2022-01-20T00:31:28+00:00","og_image":[{"width":512,"height":512,"url":"https:\/\/mklasen.com\/content\/uploads\/2020\/03\/cropped-cropped-mklasen-logo-margin-1.png","type":"image\/png"}],"author":"Marinus Klasen","twitter_card":"summary_large_image","twitter_creator":"@http:\/\/twitter.com\/marinusklasen","twitter_site":"@marinusklasen","twitter_misc":{"Written by":"Marinus Klasen","Est. reading time":"2 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/#article","isPartOf":{"@id":"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/"},"author":{"name":"Marinus Klasen","@id":"https:\/\/mklasen.com\/#\/schema\/person\/bbad02776afb72dfba2ebfe1956a4e29"},"headline":"Moving a multisite: Database errors & site not found.","datePublished":"2021-03-25T10:47:32+00:00","dateModified":"2022-01-20T00:31:28+00:00","mainEntityOfPage":{"@id":"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/"},"wordCount":214,"commentCount":0,"publisher":{"@id":"https:\/\/mklasen.com\/#\/schema\/person\/bbad02776afb72dfba2ebfe1956a4e29"},"articleSection":["General"],"inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/","url":"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/","name":"Moving a multisite: Database errors & site not found. - Marinus Klasen","isPartOf":{"@id":"https:\/\/mklasen.com\/#website"},"datePublished":"2021-03-25T10:47:32+00:00","dateModified":"2022-01-20T00:31:28+00:00","breadcrumb":{"@id":"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/mklasen.com\/moving-a-multisite-database-errors-site-not-found\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mklasen.com\/"},{"@type":"ListItem","position":2,"name":"General","item":"https:\/\/mklasen.com\/general\/"},{"@type":"ListItem","position":3,"name":"Moving a multisite: Database errors & site not found."}]},{"@type":"WebSite","@id":"https:\/\/mklasen.com\/#website","url":"https:\/\/mklasen.com\/","name":"Marinus Klasen","description":"","publisher":{"@id":"https:\/\/mklasen.com\/#\/schema\/person\/bbad02776afb72dfba2ebfe1956a4e29"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mklasen.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"nl-NL"},{"@type":["Person","Organization"],"@id":"https:\/\/mklasen.com\/#\/schema\/person\/bbad02776afb72dfba2ebfe1956a4e29","name":"Marinus Klasen","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/mklasen.com\/#\/schema\/person\/image\/","url":"https:\/\/mklasen.com\/content\/uploads\/2021\/01\/DONE1171.jpg","contentUrl":"https:\/\/mklasen.com\/content\/uploads\/2021\/01\/DONE1171.jpg","width":1500,"height":1000,"caption":"Marinus Klasen"},"logo":{"@id":"https:\/\/mklasen.com\/#\/schema\/person\/image\/"},"description":"Marinus has been working in software\/web development for more than a decade. Since 2020 his attention shifted on sharing knowledge and developing products and tools for sharing knowledge. Marinus Klasen on Twitter","sameAs":["http:\/\/facebook.com\/marinus.klasen","https:\/\/nl.linkedin.com\/in\/marinusklasen","https:\/\/twitter.com\/http:\/\/twitter.com\/marinusklasen"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","featured_image_src":null,"featured_image_src_square":null,"author_info":{"display_name":"Marinus Klasen","author_link":"https:\/\/mklasen.com\/author\/mklasen\/"},"_links":{"self":[{"href":"https:\/\/mklasen.com\/wp-json\/wp\/v2\/posts\/604"}],"collection":[{"href":"https:\/\/mklasen.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mklasen.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mklasen.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mklasen.com\/wp-json\/wp\/v2\/comments?post=604"}],"version-history":[{"count":3,"href":"https:\/\/mklasen.com\/wp-json\/wp\/v2\/posts\/604\/revisions"}],"predecessor-version":[{"id":856,"href":"https:\/\/mklasen.com\/wp-json\/wp\/v2\/posts\/604\/revisions\/856"}],"wp:attachment":[{"href":"https:\/\/mklasen.com\/wp-json\/wp\/v2\/media?parent=604"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mklasen.com\/wp-json\/wp\/v2\/categories?post=604"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mklasen.com\/wp-json\/wp\/v2\/tags?post=604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}