Database and media migration
Last updated
Was this helpful?
Last updated
Was this helpful?
Setup SSH access following these .
Connect to SSH through your terminal.
Run the following commands to create a database dump zip file on the ReadyMage server: mysqldump magento --single-transaction --no-tablespaces | zip dump.sql.gz -
Exit SSH by running command exit
Navigate to the directory where you want to download the database dump on your local machine, for example, Desktop: cd desktop
Run commands scp {SSH USER}:/home/magento/dump.sql.gz .
Make sure to replace {SSH USER} part with your ReadyMage SSH username, for example,
scp store-pwruv-shj-1611224333-user@prod.ssh.us.i.readymage.com:/home/magento/dump.sql.gz .
Unarchive the dump locally.
Rename the unarchived file to dump.sql
Make sure that your local Magento application is running and run the following command to import database dump (./dump.sql should be replaced with the path your dump file)
npm run import-db ./dump.sql
If the import-db command doesn't exist, check known issues below.
Navigate to your project repository using terminal and run the following commands:
npm run stop
npm run start
npm run cli
magento indexer:reindex
magento cache:clean
Create a new admin user to be used on your local setup by running this command magento admin:user:create
Import-db not available
If the import-db command is not available add the following line to the package.json file located in the root folder of the cloned repository:
Your package.json file scripts variable should have the import-db add
Navigate to your project repository using terminal and run the following command: npm run status
Copy the name of the MySQL container, for example, readymage-mystore-pwruv-shj-1611224333-master_mysql
Create database dump by running the following command: docker exec {MYSQL CONTAINER NAME} mysqldump magento --single-transaction --no-tablespaces -u magento -pmagento --result-file=/tmp/dump.sql
Replace {MYSQL CONTAINER NAME} by the container name you copied in step 2.
Download the dump to your Desktop by running the following command:
docker cp {MYSQL CONTAINER NAME}:/tmp/dump.sql ~/Desktop/dump.sql
Before importing the database dump to your ReadyMage instance open the database dump and change all the mentions of utf8mb4_general_ci
to utf8mb4_0900_ai_ci
Move your database to the ReadyMage server by running the following command from your terminal: scp {LOCAL PATH TO YOUR DUMP} {SSH USER}:/home/magento/dump.sql
Replace {LOCAL PATH TO YOUR DUMP}
with the path to your database dump and {SSH USER}
with your SSH username, for example,
scp ~/Desktop/dump.sql store-pwruv-shj-1611224333-user@prod.ssh.us.i.readymage.com:/home/magento/dump.sql
Drop the database DROP DATABASE magento; CREATE DATABASE magento;
Connect to SSH and run the following command: mysql magento < dump.sql
Connect to mysql by running mysql
command in terminal.
Run the following commands (replace {STORE URL} with your instance store URL):
use magento
— Set the search engine to Elasticsearch
UPDATE core_config_data SET value = "elasticsearch" WHERE path = "catalog/search/elasticsearch7_server_hostname";
— If OpenSearch is used instead, set the search engine accordingly
UPDATE core_config_data SET value = "opensearch" WHERE path = "catalog/search/opensearch_server_hostname";
UPDATE core_config_data SET value="9200" where path="catalog/search/elasticsearch7_server_port";
or UPDATE core_config_data SET value="9200" where path="catalog/search/opensearch_server_port";
UPDATE core_config_data SET value="2" where path="system/full_page_cache/caching_application";
UPDATE core_config_data SET value="http://{STORE URL}/" where path="web/unsecure/base_url";
UPDATE core_config_data SET value="https://{STORE URL}/" where path="web/secure/base_url";
UPDATE core_config_data SET value="1" where path="web/secure/use_in_frontend";
UPDATE core_config_data SET value="1" where path="web/secure/use_in_adminhtml";
UPDATE core_config_data SET value="{STORE URL}" where path="web/cookie/cookie_domain";
exit
Access SSH and run the following commands:
magento indexer:reindex
magento cache:clean
Error: ERROR 1227 (42000) at line XX: Access denied; you need (at least one of) the SUPER or SET_USER_ID privilege(s) for this operation
Please check the reported line. If DEFINER
is specified, please remove it.
Run command to download Media Content to your desktop (change the ~/Desktop/media path to your path where you want to dump the media): rsync -azh --partial --append {SSH USER}:/home/magento/media/ ~/media
Replace {SSH USER}
with your SSH username, for example,
rsync -azP store-pwruv-shj-1611224333-user@ssh.ireland.eu.i.readymage.com:/home/magento/media/ ./Desktop/
Move downloaded media content to your repository pub/media
folder.
Navigate to the repository in the terminal and run the following commands:
npm run cli
magento indexer:reindex
magento cache:clean
Navigate to your repository pub
folder in terminal and run the command: rsync -azP media/ {SSH USER}:/home/magento/media/
Replace {SSH USER}
with your SSH username, for example,
rsync -azh --partial --append --chmod=Du=rwx,Dg=rwx,Do=rx,Fu=rw,Fg=rw,Fo=r media/ store-pwruv-shj-1611224333-user@ssh.ireland.eu.i.readymage.com:/home/magento/media/
Connect to SSH and run the following commands:
magento indexer:reindex
magento cache:clean
Restart Varnish from Infrastructure Management > Manage Services
.
Setup SSH access following these . You don't have to connect to it.
Error: Catalog Search index exception: Could not ping search engine: No alive nodes found in your cluster Update search engine port to 9200 in your instance database core config table. Follow instructions .
Setup SSH access following these .
Setup SSH access following these .