User Tools

Site Tools


computing:migratewp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
computing:migratewp [2019/08/17 19:58] oemb1905computing:migratewp [2022/07/31 18:53] oemb1905
Line 11: Line 11:
 ------------------------------------------- -------------------------------------------
  
-This tutorial is designed to step one through how to migrate a self-hosted Word Press site manually Firstcompletely set up LAMP and TLS and DNS, etc., before you begin migration, and review [[https://jonathanhaack.com/dokuwiki/doku.php?id=computing:apachesurvival|Apache Survival]] if you are unclear on how to do that Nowonce that is set up, authenticate as root on the //old host// and backup your entire database (thanks to @jjscha for this mysqldump syntax):+This tutorial is designed to step one through how to migrate a mysql database to another hostThe tutorial is named migratewpbecause I first did this on a WP instanceIn my caseI have cron jobs that run mysqldump nightly as follows:
  
   sudo -i   sudo -i
Line 29: Line 29:
   --routines          \   --routines          \
   > mysqldump-all-databases.sql   > mysqldump-all-databases.sql
 +  
 +But if you don't have that, then just make a backup of the database on the source host as follows:
  
-Use scp to get the file to the new host:+  mysqldump -u root -p --all-databases > all_databases.sql
      
-  sudo scp mysqldump-all-databases.sql user@newhostorip.com:+Once that's done, send the ''.sql'' file over to the target host as follows:
      
-Before your import the mysqldump databases into the new database, you need to create what I call a "surrogate" user and database to do the heavy lifting for you first You will also grant this surrogate user super privileges.  Make sure the name you pick is unique and was not present in the database backup and/or a restricted user name. +  scp all_databases.sql root@targethost.com:
- +
-  CREATE DATABASE newdatabase DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; +
-  GRANT ALL ON newdatabase.* TO 'newdatabaseuser'@'localhost' IDENTIFIED BY 'temporarypassword'; +
-  FLUSH PRIVILEGES; +
-  EXIT; +
-  CREATE USER 'newdatabaseuser'@'%' IDENTIFIED BY 'temporarypassword'; +
-  GRANT ALL PRIVILEGES ON *.* TO 'newdatabaseuser'@'%' WITH GRANT OPTION; +
- +
-Now, time to import that database into the new host: +
- +
-  mysql -u newdatabaseuser -h localhost -p --database=newdatabase < /path/to/backup-databases.sql+
      
-This will take some time.  Once it finisheslog into the mysql command mode and verify the databases made it over:+Nowssh into the target host and import the databases as follows:
  
-  sudo mysql -u user -p +  mysql -u root -p < /root/all_databases.sql
-  > SHOW DATABASES; +
-  > EXIT+
  
-If possibly, run this command on both machines, and the output should be identical.  Now, it is time to migrate the website //files// over to the new host:+After the database is migrated, simply copy all the files from web root for the instance over to the new host. Ensure that permissions, configuration files, certificates, etc., are appropriately configured, and then reboot. If any databases came over, but you no longer need them, you can drop them and the users as follows:
  
-  sudo scp -r /var/www/website.com/public_html user@newhostorip.com:/var/www/newwebsite.com/ +    DROP DATABASE olddb; 
-   +    DROP USER 'olddbuser'@'localhost';
-Put the files in the appropriate locations, restart the mysql service and reboot.  Lastly, once you verify the original databases made it over and the website is restored and functioning, you can delete the surrogate user and database as follows:+
  
-    DROP DATABASE newdatabase; +That should be all there is to it!
-    DROP USER 'newdatabaseuser'@'localhost';+
  
- --- //[[netcmnd@jonathanhaack.com|oemb1905]] 2019/06/15 23:42//   + --- //[[jonathan@haacksnetworking.org|oemb1905]] 2022/07/31 12:46//
-  +
computing/migratewp.txt · Last modified: 2022/09/03 23:11 by oemb1905