DB Import & Export: Difference between revisions

From Fundamental Ramen
Jump to navigation Jump to search
Line 8: Line 8:
rankdir=TB;
rankdir=TB;
newrank=true;
newrank=true;
subgraph group2 {
  rank=same;
  B [label="Tunnel Port\n(127.0.0.1:13306)"];
  C [label="SQL File"];
}


subgraph group1 {
subgraph group1 {
Line 13: Line 19:
   A [label="Remote MariaDB"];
   A [label="Remote MariaDB"];
   D [label="Local MariaDB\n(127.0.0.1:3306)"];
   D [label="Local MariaDB\n(127.0.0.1:3306)"];
}
subgraph group2 {
  rank=same;
  B [label="Tunnel Port\n(127.0.0.1:13306)"];
  C [label="SQL File"];
}
}



Revision as of 04:19, 5 March 2019

MariaDB

mysqldump -h 127.0.0.1 -P 13306 -u root -p**** db_name > db_exp.sql

Script to sync db

DATESN=`date +'%m%d'`
DBNAME=mydb
DBFILE=~/Downloads/${DBNAME}-${DATESN}.sql
SSHTUN=13306
SSHCTRL=tun.ctrl
SSHCONF=myconf
RPASS=********
LPASS=********

if [ -e $SSHCTRL ]; then
  echo "* Close existed tunnel."
  ssh -S $SSHCTRL -O exit $SSHCONF 2> /dev/null
fi

echo "* Load data from remote and save as $DBFILE"
ssh -M -S $SSHCTRL -NCfL $SSHTUN:127.0.0.1:3306 $SSHCONF
mysqldump -h 127.0.0.1 -P $SSHTUN -u root -p$RPASS $DBNAME > $DBFILE
ssh -S $SSHCTRL -O exit $SSHCONF 2> /dev/null

echo '* Import data into local'
echo "DROP DATABASE IF EXISTS $DBNAME" | mysql -u root -p$LPASS test
echo "CREATE DATABASE IF NOT EXISTS $DBNAME" | mysql -u root -p$LPASS test
echo "source $DBFILE" | mysql -u root -p$LPASS $DBNAME

echo 'Done.'

SQLite