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

[经验分享] 第十七章 MySQL主从配置

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2018-10-2 06:32:28 | 显示全部楼层 |阅读模式
  17.1 MySQL主从介绍
  MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的
  MySQL主从是基于binlog的,主上须开启binlog才能进行主从。
  主从过程大致有3个步骤
  1)主将更改操作记录到binlog里
  2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里
  3)从根据relaylog里面的sql语句按顺序执行
  主上有一个log dump线程,用来和从的I/O线程传递binlog
  从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地。
  用处:1.数据的备份   2.读时从从机上读减轻主的压力。
  MySQL主从原理
DSC0000.jpg

  17.2准备工作
  192.168.188.128 (主)和129 (从)都安装mysql,并启动起来。
  17.3 配置主
  1)主从配置--主上操作
  修改my.cnf,增加server-id=128和log_bin=aminglinux1
  logbin 定义是前缀
  修改完配置文件后,启动或者重启mysqld服务
  /etc/init.d/mysqld restart
  ls  /data/mysql/  会发现生成了aminglinux1前缀的文件。
把mysql库备份并恢复成aming库,作为测试数据,使用密码aminglinux
  mysqldump -uroot -paminglinux  mysql > /tmp/mysql.sql
  创建一个新的库aming
  mysql -uroot  -paminglinux   -e   "create database aming"
  j将备份的库恢复到aming
  mysql -uroot  -paminglinux  aming < /tmp/mysql.sql
  进入数据库 aming, 创建用作同步数据的用户/密码
  mysql -uroot  -paminglinux  aming

  grant replication slave on . to 'repl'@192.168.188.129>  锁一下表,不让他更改
  flush tables with read lock;
  记住它的位置和binlog
  show master status;
  再做几个备份
  mysqldump -uroot -paminglinux  mysql2 > /tmp/my2.sql
  mysqldump -uroot -paminglinux  zrlog> /tmp/zrlog.sql
  17.4  配置从
  1)主从配置--从上操作
  安装mysql
  查看my.cnf,配置server-id=129,要求和主不一样,log_bin不用配置了。
  修改完配置文件后,启动或者重启mysqld服务
  把主上的/tmp/.sql拷贝到从上,
  scp 192.168.188.128:/tmp/sql   /tmp/
  输入密码
  登陆数据库,并创建aming库,zrlog库,my2库,然后
  mysql -uroot
  create database aming;
  create database zrlog;
  create database my2;
  quit
  做一个数据库的恢复
  mysql -uroot  aming< /tmp/mysql.sql
  mysql -uroot  zrlog < /tmp/zrlog.sql
  mysql -uroot  my2 < /tmp/my2.sql
  现在 128和129上的数据库内容一致了。
  2)实现主从,在从上
  mysql -uroot
  stop slave;
  change master to master_host='192.168.188.128', master_user='repl', master_password='1122334455', master_log_file='aminglinux1.000002', master_log_pos=1326644;
DSC0001.jpg

  启动
  start slave;
  show slave status\G
DSC0002.jpg

  3)在主上操作
  mysql -uroot  -paminglinux  aming
  还要到主上执行
unlock tables;
  17.5  测试主从同步
  几个配置参数
  主服务器上
  binlog-do-db=      //仅同步指定的库
  binlog-ignore-db= //忽略指定库
  从服务器上
  replicate_do_db=
  replicate_ignore_db=
  replicate_do_table=
  replicate_ignore_table=
  replicate_wild_do_table=   //如aming.%, 支持通配符%
  replicate_wild_ignore_table=
  测试主从
  主上查看aming库的user表的行数,
  mysql -uroot -paminglinux aming
  select count() from user;
  truncate table user;   //清空表
  select   from user;   //为0,无内容
  到从上 查看aming库的user表的行数,
  mysql -uroot aming
  select count(*) from user;
  主上继续drop table user;
  从上查看user表
  发现从上也没有了user。


运维网声明 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.iyunv.com/thread-607285-1-1.html 上篇帖子: 忘记mysql管理密码怎么办? 下篇帖子: 第十七章 MySQL主从配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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