This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
computing:migratewp [2019/08/17 19:58] – oemb1905 | computing:migratewp [2022/09/03 23:11] (current) – oemb1905 | ||
---|---|---|---|
Line 11: | Line 11: | ||
------------------------------------------- | ------------------------------------------- | ||
- | This tutorial is designed to step one through how to migrate a self-hosted Word Press site manually. First, completely set up LAMP and TLS and DNS, etc., before you begin migration, and review [[https:// | + | This tutorial is designed to step one through how to migrate a mysql database to another host. The tutorial is named migratewp, because I first did this on a WP instance. In my case, I have cron jobs that run mysqldump nightly |
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 '' |
| | ||
- | Before your import the mysqldump databases into the new database, you need to create what I call a " | + | scp all_databases.sql root@targethost.com: |
+ | |||
+ | Now, ssh into the target host and import | ||
- | | + | |
- | GRANT ALL ON newdatabase.* TO ' | + | |
- | FLUSH PRIVILEGES; | + | |
- | EXIT; | + | |
- | CREATE USER ' | + | |
- | GRANT ALL PRIVILEGES ON *.* TO ' | + | |
- | Now, time to import that database into 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, |
- | mysql -u newdatabaseuser -h localhost | + | DROP DATABASE olddb; |
- | + | DROP USER ' | |
- | This will take some time. Once it finishes, log into the mysql command mode and verify the databases made it over: | + | |
- | sudo mysql -u user -p | + | In cases of large databases, you might get an error that the shell lost connection to the database or that it vanished, etc. In that case, adjust your packet and timeout settings: |
- | > SHOW DATABASES; | + | |
- | > EXIT | + | |
- | If possibly, run this command on both machines, and the output should be identical. | + | nano /etc/mysql/mariadb.conf.d/50-server.cnf |
+ | < | ||
+ | < | ||
+ | < | ||
- | sudo scp -r / | + | --- //[[jonathan@haacksnetworking.org|oemb1905]] |
- | + | ||
- | Put the files in the appropriate locations, restart the mysql service and reboot. | + | |
- | + | ||
- | DROP DATABASE newdatabase; | + | |
- | DROP USER ' | + | |
- | + | ||
- | --- //[[netcmnd@jonathanhaack.com|oemb1905]] | + | |
- | | + |