将一个数据库里的数据同步到另一个数据库中,用脚本执行。这里演示的是从MySQL的一个数据库ceshiqlone的表tab_wzc1同步到yw库中(同一台主机)(也可以在不同主机,只是需要SSH),不同的数据库可能表结构等因素不同,不能用这个脚本,但是道理都一样,可以借鉴。
vi mysql111.sh
#!/bin/sh
find /var/lib/mysql/wzc/wzc_sql/ -name "*.sql" -mtime +3 | xargs
rm -rf "*.sql"
time=`date +%Y%m%d`
mysqldump -uroot -p000000 ceshisqlone tab_wzc1
> /var/lib/mysql/wzc/wzc_sql/`date +%Y%m%d`_tab_wzc1.sql
sleep 3
bash sqlclient.sh
vi mysqlclient.sh
#!/bin/sh
find /var/lib/mysql/wzc/wzc_sql_client/ -name "*.sql" -mtime
+3|xargs rm -rf "*.sql"
time=`date +%Y%m%d`
rsync -vzrtopgl --progress
/var/lib/mysql/wzc/wzc_sql/`date
+%Y%m%d`_tab_wzc1.sql
/var/lib/mysql/wzc/wzc_sql_client/
counts=`ls -l /var/lib/mysql/wzc/wzc_sql_client/ | grep "$time" |
awk '{print $NF}'|wc -l`
echo $counts
if [ "$counts" -eq 1 ]
then
echo sql:$counts
mysql -uroot -p000000 <<EOF
use yw;
drop table tab_wzc1;
EOF
mysql -uroot -p000000 yw <
/var/lib/mysql/wzc/wzc_sql_client/`date +%Y%m%d`_tab_wzc1.sql
--default-character-set=utf8
echo
OK!!!
else
echo
WRONG!!!
fi
本脚本并非我独立写成,我也借鉴过其他大神的脚本,有错误或什么问题尽管提出,我加以改善。或者有同类型的脚本提供我愿意借鉴。