DB Import & Export: Difference between revisions
Jump to navigation
Jump to search
| Line 4: | Line 4: | ||
! colspan="2" | MySQL | ! colspan="2" | MySQL | ||
|- | |- | ||
| Export database | |||
| | | | ||
<source lang="bash"> | |||
# schema + data | |||
mysqldump -h localhost -u root -p dbname | |||
# schema only | |||
mysqldump -h localhost -u root -p --no-data dbname | |||
# data only | |||
mysqldump -h localhost -u root -p --no-create-info dbname | |||
</source> | |||
|} | |} | ||
Revision as of 03:49, 23 July 2020
Commands
| MySQL | |
|---|---|
| Export database |
# schema + data
mysqldump -h localhost -u root -p dbname
# schema only
mysqldump -h localhost -u root -p --no-data dbname
# data only
mysqldump -h localhost -u root -p --no-create-info dbname
|
MariaDB
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.'