设为首页 收藏本站
查看: 1435|回复: 0

[经验分享] mysql replication 问题

[复制链接]

尚未签到

发表于 2018-10-11 10:41:27 | 显示全部楼层 |阅读模式
  今天又犯二了,居然把mysql的复制给忘了,也算醉了,再次总结mysql 主从:
  公司的db01-fk(172.33.4.155)机器出了问题,需要换新的机器。这台机器上的mysql也是从中国db01复制的,所以解决思路:1、从中国db01备份数据库,并将备份文件传至FK;2、在FK site 新db01-fk上还原数据库,并设置master地址及相关参数,实现复制;
  具体操作如下:
  1、CN db01 备份数据库,并传至新db01-fk,操作如下:
  [root@db01-mb ~]# mysqldump -A  --master-data=1 --single-transaction --events | gzip > /tmp/fulldb-16-12-05.sql.gz
  [root@db01-mb ~]# ll -h /tmp/fulldb-16-12-05.sql.gz
  -rw-r--r-- 1 root root 411M Dec  5 15:15 /tmp/fulldb-16-12-05.sql.gz
  [root@db01-mb ~]# aws s3 cp /tmp/fulldb-16-12-05.sql.gz  s3://yeecalllogs-mb/
  upload: ../tmp/fulldb-16-12-05.sql.gz to s3://yeecalllogs-mb/fulldb-16-12-05.sql.gz
  [root@db01-mb ~]#
  2、在db01-fk(new) 复制原db01-fk的配置文件、密钥文件,启动服务,设置远程master主机的相关参数
  [root@db01-fk ~]# rsync -avzoptgl --progress  172.33.4.155:/home/mysql/  /home/mysql/
  [root@db01-fk ~]# rsync -avzoptgl --progress  172.33.4.155:/etc/my.cnf  /etc/my.cnf
  [root@db01-fk ~]# service mysqld start
  [root@db01-fk ~]# mysql
  mysql> change master to
  -> master_host='1.1.1.1',
  -> master_user='repl',
  -> master_password='123456789',
  -> master_port=13306,
  -> master_ssl=1,
  -> master_ssl_ca='/home/mysql/ssl/ca.crt',
  -> master_ssl_cert='/home/mysql/ssl/4.idc.ycall.com.crt',
  -> master_ssl_key='/home/mysql/ssl/4.idc.ycall.com.key';
  Query OK, 0 rows affected (0.02 sec)
  mysql> exit
  在db01-fk(new)上还原数据库,进行复制
  [root@db01-fk ~]# aws s3 cp s3://yeecalllogs-mb/fulldb-16-12-05.sql.gz /tmp/
  download: s3://yeecalllogs-mb/fulldb-16-12-05.sql.gz to ../tmp/fulldb-16-12-05.sql.gz
  [root@db01-fk ~]# gzip -d /tmp/fulldb-16-12-05.sql.gz
  [root@db01-fk ~]# grep -P -io "change master to .*\d;$" /tmp/fulldb-16-12-05.sql
  CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000069', MASTER_LOG_POS=8105870;
  [root@db01-fk ~]# mysql < /tmp/fulldb-16-12-05.sql
  [root@db01-fk ~]# mysql
  mysql> start slave ;
  mysql> show slave status \G
  [root@db01-fk ~]#
  说明:
  mysqldump --help
  --master-data[=#]  This causes the binary log position and filename to be
  appended to the output. If equal to 1, will print it as a
  CHANGE MASTER command; if equal to 2, that command will
  be prefixed with a comment symbol. This option will turn
  --lock-all-tables on, unless --single-transaction is
  specified too (in which case a global read lock is only
  taken a short time at the beginning of the dump; don't
  forget to read about --single-transaction below). In all
  cases, any action on logs will happen at the exact moment
  of the dump. Option automatically turns --lock-tables
  off.
  --master-data[=#]      在备份导出的文件里追加二进制binlog文件的位置和名称
  如果值等于1,就会添加一个CHANGE MASTER语句
  如果值等于2,就会在CHANGE MASTER语句前添加注释
  这个参数会--lock-all-tables锁表,除非指定了--single-transaction
  这种情况下,锁表只会在dump开始的时候持续一小段时间,照理说
  在dump的时候,任何动作都会影响到binlog文件
  dump结束之后,选项会自动关闭锁表功能
  分析:如果在恢复DB之前指定  change master to 的 host port .....,然后再恢复DB, 这样 dump 文件中带的  master_log_file 和 master_log_pos 才会生效。因为一旦修改master host(即使修改前后的值相同),就会生成新的file和pos,原来dump文件的语句就被冲掉了。所以这种方式必须首先指定host,然后恢复,最后 start slave;
  当然:我上次操作,在mysqldump时没加这两参数,使用了-x 锁表功能 ,但在mysqldump过程中,在主库上 show master status  , 查看了 position 及 logfile,然后记下这两项值,以便在从库change master to 操作时指定这些参数。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-620286-1-1.html 上篇帖子: mysql基础知识学习 下篇帖子: tomcat,java,mysql等应用历史版本下载地址
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表