Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save da8/e84aefe5cb75fe63295d157a9c8678ee to your computer and use it in GitHub Desktop.

Select an option

Save da8/e84aefe5cb75fe63295d157a9c8678ee to your computer and use it in GitHub Desktop.
copy production database from production server to local developement machine
prequesites
REMOTE_USER
REMOTE_USER_PASSWORD
PRODUCTIONSERVER_ADDRESS
PRODUCTIONSERVER_TEMP_WORKING_DIRECTORY
PRODUCTIONSERVER_MYSQL_ROOT_PASSWORD
PRODUCTION_DATABASE_NAME
PRODUCTION_DATABASE_DUMP
LOCAL_DEV_MACHINE_TEMP_WORKING_DIRECTORY
LOCAL_DEV_MACHINE_MYSQL_ROOT_PASSWORD
create dump of production database on production server
open terminal
ssh REMOTE_USER@PRODUCTIONSERVER_ADDRESS
cd PRODUCTIONSERVER_TEMP_WORKING_DIRECTORY
mysql -u root (if access without password is possible otherwise sudo mysql -u root -p)
mysql > show databases;
identify the right database
exit;
mysqldump -u root -p PRODUCTION_DATABASE_NAME > "PRODUCTION_DATABASE_NAME_$(date +"%Y%m%dT%H%M").sql"
copy dump of production database to local developement machine
open second terminal
cd LOCAL_DEV_MACHINE_TEMP_WORKING_DIRECTORY
scp REMOTE_USER@PRODUCTIONSERVER_ADDRESS:PRODUCTIONSERVER_TEMP_WORKING_DIRECTORY/PRODUCTION_DATABASE_DUMP .
create database on local developement machine
mysql -u root -p (maybe first sudo than maybe LOCAL_DEV_MACHINE_MYSQL_ROOT_PASSWORD)
if database does not exist: CREATE DATABASE PRODUCTION_DATABASE_NAME;
if database does exist: DROP DATABASE PRODUCTION_DATABASE_NAME;
exit;
upload the dump of production database into local mysql server
sudo mysql -u root -p PRODUCTION_DATABASE_NAME < LOCAL_DEV_MACHINE_TEMP_WORKING_DIRECTORY/PRODUCTION_DATABASE_DUMP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment