首页 > 数据库 >两个MYSQL数据同步的SHELL脚本

两个MYSQL数据同步的SHELL脚本

时间:2023-05-25 18:37:19浏览次数:38  
标签:同步 DATABASE DST SHELL USER MYSQL logfile data PASSWORD


#/!bin/bash

HOST=127.0.0.1    #ip (127.0.0.1表示本机地址)
USER=root          #数据库用户名
PASSWORD=password      #数据库密码
DATABASE=pig   #数据库名
BACKUP_PATH=/home/hdkg/bkdata/       #备份目录
logfile=/home/hdkg/bklog/data.log  #记录日志

TABLES="test test1" #同步的表名
SQLFILE="export.sql" #导出的SQL

#源库
DST_HOST=127.0.0.2   #ip (127.0.0.1表示本机地址)
DST_USER=root          #数据库用户名
DST_PASSWORD=password      #数据库密码
DST_DATABASE="test"   #数据库名

#删除目标库数据
mysql -h $DST_HOST -u $DST_USER -p$DST_PASSWORD -s $DST_DATABASE <<EOF
delete from test;
delete from test1;
EOF

#将日志打印再日志文件中
if [ $? -ne 0 ]
then
    echo "delete data fail!">>$logfile
exit 4
fi
echo "delete data Successful!">>$logfile


#如果不存在备份目录就创建
if [ ! -d $BACKUP_PATH ]
then
    mkdir $BACKUP_PATH
fi

#进入备份目录
cd $BACKUP_PATH

#导出原始数据表,忽略创建表的语句
mysqldump -h $HOST -u $USER -p$PASSWORD $DATABASE --no-create-info $TABLES > $SQLFILE
if [ $? = 0 ]
then
	echo "export success"
	echo "export data Successful!" >> $logfile
	#导入到目标库
	mysql -h $DST_HOST -u $DST_USER -p$DST_PASSWORD -s $DST_DATABASE <<EOF
	source $BACKUP_PATH$SQLFILE
EOF

	if [ $? = 0 ]
	then
		echo "import data Successful!" >> $logfile
	else
		echo "import data fail!" >> $logfile
		exit 4
	fi
else
	echo "export data fail!" >> $logfile
	fi


标签:同步,DATABASE,DST,SHELL,USER,MYSQL,logfile,data,PASSWORD
From: https://blog.51cto.com/chengzheng183/6350649

相关文章

  • 使用DataX从ORACLE同步数据到MYSQL
    [前提]安装python3.7oracle版本:oracle11gmysql版本:mysql5.71.下载DataXwgethttp://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz2.解压DataXtar-zxvfdatax.tar.gz3.编写同步脚本进入dataXbin目录cd${HOME目录}/datax/bin 编写同步脚本vioracleToMysql.json......
  • mysql数据库部署
    推荐步骤:安装Mysql5.6.46版本设置登录Mysql密码,使用root账户登录Mysql创建自己名字数据库,查看数据库实验步骤:安装Mysql5.6.46版本设置登录Mysql密码,使用root账户登录Mysql创建自己名字数据库,查看数据库......
  • 文件传输、文件同步、数据备份的有效解决方案
    1.文件传输的速度文件传输的快慢,根本在于传输协议的优劣和网络带宽利用率的高低。传统的TCP和UDP,前者传输可靠性较高,但速度太慢,后者速度有保证,但可靠性不足。Raysync高速传输协议是镭速传输基于UDP的传输性能,突破传统FTP、HTTP传输的缺陷研发的高速传输协议,其传输速率提升100X,带......
  • linux shell编程规范和变量
    目录一、shell简述二、shell脚本三、重定向四、管道符五、变量六、shell脚本基本知识 七、预定义变量小实验           一、shell简述概念:shell解释器,翻译官功能,与内核进行沟通的应用程序。把代码翻译为二进制,让内核处理,负责接收......
  • 记一次windows装docker,然后nacos连接宿主机mysql报错问题
    之前一直用linux装docker,这两天有空研究下windows上装DockerDesktop。安装步骤就不一一细说了,记录几个容易忘得地方。设置docker镜像存储位置//打包现有镜像wsl--exportdocker-desktop-data"D:\\work\\other-tools\\docker\\docker-desktop-data.tar"//注销镜像wsl--......
  • django 使用mysql数据库
    1.手动创建mysql数据库,比如xadmincreatedatabasexadmincharset=utf8;2.配置django项目setting.py文件中的数据库设置DATABASES={'default':{'ENGINE':'django.db.backends.mysql',#数据库后端'NAME':'xadmin',......
  • MYSQL 超时问题排查过程
    发现疑点通过IT的监控发现存在负载(Load)最高了两个SQL如下:SELECT*FROM`wobshiporder`WHERE`WOBShipOrderID`=?FORUPDATEINSERTINTO`WOBShipOrder`(`OAID`,`IsDecryptReceiver`…语句耗时10秒以上。问题定位开始分析第一个SQL语句时:选举了一个exampleSelec......
  • MYSQL性能优化-CPU/内存/磁盘
    CPU配置MYSQL的IO线程与CPU核数一致。通过以下命令查看当前配置的配置,默认4#showvariableslike‘%_io_threads’;只能通过修改配置文件来修改以上的配置innodb_read_io_threads=16innodb_read_write_threads=16配置后需要重启MYSQL服务内存超过4G内存则需要CPU支持64位......
  • The MySQL server is running with the --skip-grant-tables option so it cannot exe
     TheMySQLserverisrunningwiththe--skip-grant-tablesoptionsoitcannotexecutethisstatement 默认情况下,启动MySQL数据库实例期间,会读取所有的权限表条目到内存中,后续被缓存到内存中的权限条目作为依据即刻对后续的控制访问生效(传送门)。使用"skip-grant-tab......
  • 使用lsyncd实时同步文件从一台服务器到另一台服务器
    一背景说明我有3台nginx服务器,想实时同步vhost,html,ssl这三个目录,这样我只是改一台机器的东西,所有服务器上的配置文件也都会被更改,就找到了lsyncd的同步软件,是通过lsyncd结合ssh去实现实时同步的,我这里是想把196上面的3个目录,同步到198和197上.系统:centos7.9lsyncd版本:2......