This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Last revisionBoth sides next revision | ||
computing:migratewp [2022/07/31 17:50] – oemb1905 | computing:migratewp [2022/07/31 18:53] – oemb1905 | ||
---|---|---|---|
Line 11: | Line 11: | ||
------------------------------------------- | ------------------------------------------- | ||
- | 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. | + | 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. |
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: |
- | + | ||
- | CREATE DATABASE temp; | + | |
- | CREATE USER tempuser@localhost IDENTIFIED BY ' | + | |
- | GRANT ALL PRIVILEGES ON temp.* to tempuser@localhost IDENTIFIED BY ' | + | |
- | FLUSH PRIVILEGES; | + | |
- | EXIT; | + | |
| | ||
- | Now that you have created a temporary database and database user with full privileges, it is time to import the backup. The second command is what I used on some temperamental instance. The first command below is simple enough and should work. I retain both just in case an instance talks back to me. | + | Now, ssh into the target host and import |
- | + | ||
- | mysql -u tempuser -p temp < / | + | |
- | mysql -u tempuser -h localhost -p --database=temp < / | + | |
- | + | ||
- | Once it finishes, log into the mysql command mode and verify | + | |
- | | + | mysql -u root -p < / |
- | > SHOW DATABASES; | + | |
- | > EXIT | + | |
- | After the database is migrated, simply copy all the files from web root for the instance over to the new host. Ensure that permissions | + | 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, |
- | DROP DATABASE | + | DROP DATABASE |
- | DROP USER 'tempuser' | + | DROP USER 'olddbuser' |
That should be all there is to it! | That should be all there is to it! | ||
- | --- // | + | --- // |