前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 mysqldump 或 mydumper 配置 MySQL 主从复制

使用 mysqldump 或 mydumper 配置 MySQL 主从复制

作者头像
用户1148526
发布2022-09-08 20:20:18
4110
发布2022-09-08 20:20:18
举报
文章被收录于专栏:Hadoop数据仓库

1. 使用mysqldump

cat dump_and_replication.sh

代码语言:javascript
复制
#!/bin/bash
source ~/.bashrc

mysql -uroot -p123456 -S /data/3306/mysqldata/mysql.sock -D db1 -e "
set global sql_log_bin=0;
alter table t1 drop primary key, drop index Index_1, drop index Index_2;
"
date

mysqldump -uroot -p123456 -h192.168.1.36 -P3306 --quick --no-create-info --apply-slave-statements --single-transaction db1 t1 --master-data=1 --set-gtid-purged=OFF | mysql -uroot -p123456 -S /data/3306/mysqldata/mysql.sock -D db1

date

mysql -uroot -p123456 -S /data/3306/mysqldata/mysql.sock -D db1 -e "
stop slave; 
alter table t1 add primary key (id), add index Index_1 (c1,c2), add index Index_2 (c3,c4);
start slave;"

date

mysql -uroot -p123456 -S /data/3306/mysqldata/mysql.sock -D db1 -e "set global sql_log_bin=1;"

2. 使用mydumper

下载安装:https://github.com/mydumper/mydumper

cat dumper_and_loader.sh

代码语言:javascript
复制
#!/bin/bash
source ~/.bashrc

mysql -uroot -p123456 -S /data/3306/mysqldata/mysql.sock -D db1 -e "set global sql_log_bin=0;"
rm -rf /data1/mydumper/*
date
mydumper -h 192.168.1.36 -P 3306 --user root --password 123456 -o /data1/mydumper/ -t 8 -B db1 -T t1

cat ~/drop_index.sql >> /data1/mydumper/t1-schema.sql
date
myloader -u root -p 123456 -o -t 16 -d /data1/mydumper/ -S /data/3306/mysqldata/mysql.sock

master_log_file=`cat /data1/mydumper/metadata | grep Log | head -1 | awk -F': ' '{print $2}'`
master_log_pos=`cat /data1/mydumper/metadata | grep Pos | head -1 | awk -F': ' '{print $2}'`

change_master="stop slave; reset slave all; change master to master_host='192.168.1.36', master_port=3306, master_user='root', master_password='123456', master_log_file='$master_log_file', master_log_pos=$master_log_pos; start slave; show slave status\G"

echo $change_master
date

mysql -uroot -p123456 -S /data/3306/mysqldata/mysql.sock -Ddb1 < ~/add_index.sql
mysql -uroot -p123456 -S /data/3306/mysqldata/mysql.sock -e "$change_master"
date

mysql -uroot -p123456 -S /data/3306/mysqldata/mysql.sock -D space -e "set global sql_log_bin=1;"

cat drop_index.sql 

代码语言:javascript
复制
alter table t1 drop index idx1, drop index idx2, drop index idx3;

cat add_index.sql

代码语言:javascript
复制
alter table t1 add index idx1 (c1), add index idx2 (c2), add index idx3 (c3);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 使用mysqldump
  • 2. 使用mydumper
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档