首页 > 数据库 >MySQL 同步多张表到目标库

MySQL 同步多张表到目标库

时间:2023-01-09 15:01:42浏览次数:37  
标签:同步 name 张表到 db amazon pd mysql MySQL tb

vi /etc/my.cnf

#目标库
[mysql]
host=172.16.1.10
user=root
password=xxxxxxxx

#源数据库

[mysqldump]
host=127.0.0.1
user=root
password=xxxxxxxx

ssl-mode=DISABLED

=======================================================
#!/bin/bash
# /etc/my.cnf 文件中配置源库和目标库数据库连接信息
sou_mysql_db_name='mydatabase' #源中央库名称
des_mysql_db_name='youdatabase' #目标车站库名称

# 两张数据库中相同的表的名字,同步哪些填哪些,空格相隔
sou_mysql_table_name=(
tb_amazon_asin_info
tb_amazon_keyword_ranking
tb_amazon_pd_best_seller_rank
tb_amazon_pd_bought_together
tb_amazon_pd_five_des
tb_amazon_pd_image
tb_amazon_pd_offers
tb_amazon_pd_product_dec_img
tb_amazon_pd_product_details
tb_amazon_pd_product_overview
tb_amazon_pd_similar_product
tb_amazon_product_dynamics
tb_amazon_product_dynamics_history
tb_amazon_product_level
)

# 存放备份sql文件的目录
sync_db_dir='/home/mysql/backup_sql'

# 存放同步数据日志目录
log_file='/home/mysql/syncdata.log'


func_writeLog(){
local getString=$1
if [ $? -eq 0 ];then
echo "TIME:$(date +"%Y%m%d_%H:%M"),The ${getString}"
echo "TIME:$(date +"%Y%m%d_%H:%M"),The ${getString}" >>${log_file}
else
echo "TIME:$(date +"%Y%m%d_%H:%M"),The ${getString}"
echo "TIME:$(date +"%Y%m%d_%H:%M"),The ${getString}" >>${log_file}
fi
}

 

func_sourceBackupCmd(){
for tabname in $(echo ${sou_mysql_table_name[@]}|sed 's/ / /g');do
home=/etc /usr/local/mysql/bin/mysqldump \
--insert-ignore=true \
--default-character-set=utf8 \
-t ${sou_mysql_db_name} ${tabname} >${sync_db_dir}/${sou_mysql_db_name}_${tabname}.sql
func_writeLog "${sou_mysql_db_name}_${tabname}.sql backup ok"
done
}

func_syncMysqlCmd(){
for sqlname in $(ls ${sync_db_dir}/*.sql);do
home=/etc /usr/local/mysql/bin/mysql \
--default-character-set=utf8 ${des_mysql_db_name} < ${sqlname}
func_writeLog "${sqlname} load ok"
[ $? -eq 0 ] && rm -f ${sqlname}
func_writeLog "${sqlname} deleted ok"
done
}
main(){
func_sourceBackupCmd;
func_syncMysqlCmd;
}
main

标签:同步,name,张表到,db,amazon,pd,mysql,MySQL,tb
From: https://www.cnblogs.com/walkersss/p/17037070.html

相关文章

  • mysql安装与配置
    下载mysql进入msql官网downloads点击此链接点击链接点击绿框,选择版本下载第一个配置文件在mysql的安装目录下创建my.ini将下面的代码输入进去[mysql]default......
  • python ssh链接Mysql数据库
    fromsshtunnelimportSSHTunnelForwarderimporttime,datetime,pymysql,json,requestsdefssh_mysql(sql,method):#SSH信息ssh_ip=''ssh_port=22......
  • 【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移Redis
    离线迁移与在线迁移相比,离线迁移适宜于源实例与目标实例的网络无法连通的场景,或者源端实例部署在其他云厂商Redis服务中,无法实现在线迁移。存在的问题由于生产环境的各......
  • k8s运行mysql主从架构
    namespacemysql-ns.yamlapiVersion:v1kind:Namespacemetadata:labels:kubernetes.io/metadata.name:wgs-mysqlname:wgs-mysql创建ns#kubectlapply......
  • mysql 合并数据集union
    在mysql中,可以利用UNION操作符来合并查询结果,该操作符用于将两个以上的SELECT语句的查询结果合并到一起,然后去除掉相同的记录;语法“查询语句1union查询语句2union..........
  • mysql要不要使用外键约束
    以我现在的观点来看,只要不是什么超大型的并发量很高的应用(类似淘宝、京东这种),因为数据量超大,即使是0.00001的性能缺失也会被放大到可以明显感觉的程度那么用外键可以省事,......
  • MySQL优化三,SQL语法
    ##1.3.MySQL调优前言:在前面的基础之上把相应的数据库表设计得很完美,建立了好用的索引,如果SQL语句中没有使用到相应索引的话,也是白搭,如何设计好一点的SQL,则是一大问题###......
  • Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Division by 0
    MySQL错误Cause:com.mysql.jdbc.MysqlDataTruncation:Datatruncation:Divisionby0错误原因:往数据库中插入一个除数为0的运算的结果;MySQL的sql_mode模式限制着一......
  • mysql 命令行记录
    1.查看`show`命令的帮助。```MySQL?show```2.查看有哪些帮助内容。```MySQL?contents```3.获取函数的帮助。```MySQL......
  • MySql优化
    MySql优化慢查询日志分析MySql的慢查询日志是MySql提供的一种日志记录,它用来记录在MySql中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录......