主库:192.168.1.19

从库:192.168.1.20

开启db_test单库复制

常见问题

参考文档

主配置 

  • 以mysql root用户登录,用下面sql创建专门用于主从复制的mysql用户repl,并授权给从库20,密码是mysql

grant replication slave on *.* to 'repl'@'192.168.1.19' identified by 'mysql';

flush privileges;

  • 再修改mysql配置文件,开启主库binlog输出

cd /opt/svr/mariadb5/etc

vi my.cnf

打开binlog某些配置项,即开启主库的写binlog配置,调整过的参数如下:

log-bin=/opt/dbdat/mariadb5_data3306/log/mysql-bin #binlog存放路径
log-bin-index=/opt/dbdat/mariadb5_data3306/log/mysql-bin.index 
binlog-do-db = db_test #只开启db_test库的复制,其他库不复制
binlog-format=row #行模式复制

  • 保存并重启mysql,查看下面目录已生成binlog文件:

/opt/dbdat/mariadb5_data3306/log/mysql-bin

mysql-bin.000001 mysql-bin.index

  • 也可以通过下面sql查询主库复制状态

show master status;

从配置

  • 连接主库

通过下面sql连接主库,注意其中的用户密码,以及binlog文件名、读binlog的位置(可通过上面show master status;sql查询master最新位置)

执行sql:change master to master_host='192.168.1.19', master_user='repl', master_password='mysql', master_log_file='mysql-bin.000001', master_log_pos=0;

  • 开启slave复制

执行sql: slave start

  • 查看slave状态

执行sql:show slave status \G;

  • 查看slave配置参数

执行sql:show variables like "%slave%";

常见问题

  • slave不稳定,容易失效,经常要手工启动
    测试过程中,需要先执行下面sql连接主库
    slave stop;
    change master to master_log_file='mysql-bin.000005', master_log_pos=83773;
    slave start;
  • 发现下面一些情况需要手工启动slave
    在主库、备库drop某些表
    当主库有某张表,但从库没有,通过java插入、查询该表时,也会造成slave停止
    当master binlog postion与slave 读取的位置不一致时,要重新按照新的位置连接master,并重启slave
  • 参考文档

mysql 主从实现的更多相关文章

  1. 在 CentOS7 上部署 MySQL 主从

    在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...

  2. 高性能Mysql主从架构的复制原理及配置详解

    温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台 ...

  3. MySQL主从同步

    脚本 [root@test scripts]# cat ss.sh #!/bin/bash . /etc/init.d/functions MYUSER=root MYPASS=c565f972 SO ...

  4. mysql主从配置

    引言: 双11,阿里云服务器打折,于是我忍不住又买了一台服务器,于是咱也是有两台服务器的爷们了,既然有了两台服务器,那么肯定要好好利用一下吧,那么就来玩玩mysql的主从配置吧. 准备 两台数据库服务 ...

  5. 恢复MySQL主从数据一致性的总结

    今日上午,同事告知,MySQL主从数据库的数据不一致,猜测备库在同步过程中出现了问题,于是,登上备库,使用 mysql> show slave status\G查看,果然,备库在insert语句 ...

  6. LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案

    方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor= worker.tomcat.cachesize= worker.tomca ...

  7. Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  8. MySQL 主从配置

    mysql主从复制指两个服务器之间数据库的同步,当主服务器的数据进行了变更,从服务器也会自动更新,其过程是通过bin-log日志实现的,本质是binlog日志的传输. mysql主从分两个角色 1.主 ...

  9. MySQL主从同步配置

    如果主从配置之前安装了云平台,请停止云平台后在进行mysql主从配置. 1. 登录master数据库,检查数据库端口防火墙设置,允许远程客户连接,如果没有,执行以下操作. 执行命令:iptables  ...

  10. mysql主从切换

    mysql 主从切换 主停,从做主步骤如下: 1 确认从服务器已经完成所有同步操作:stop slave io_thread show processlist 直到看到状态都为:xxx has rea ...

随机推荐

  1. 移动端js插件分享

    分享几个移动端使用的插件,个人感觉挺不错的. 1. TouchSlide1.1 滑动的焦点图  http://pan.baidu.com/s/1i3J6bbB 2. iscroll.js  模拟滚动条 ...

  2. 解决IE8下VS2005,VS2008一些向导提示脚本错误问题

      Some VS2005 and VS2008 Wizards Pop Up Script Error. Visual C++ team has discovered that after inst ...

  3. mybatis.generator.configurationFile

    mybatis.generator.configurationFile 有一个更好的配置方法,可以不用在generateConfig.xml里面写死驱动的地址:如果你的mybatis连接也是在pom. ...

  4. uvalive5810 uva12368 Candles

    题意:每组数据给出n个数,每个数在1-100,问组成这些数的蜡烛的权值的最小值.权值=把选的蜡烛从大到小排列组成的数 组成方式:比如有1 3两个蜡烛 可以组成13(1和3)或4(1+3) 只有一个加号 ...

  5. LDA的一些资料

    LDA-math-汇总 LDA数学八卦 http://www.52nlp.cn/lda-math-%E6%B1%87%E6%80%BB-lda%E6%95%B0%E5%AD%A6%E5%85%AB%E ...

  6. Sequence operation(线段树区间多种操作)

    Sequence operation Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  7. LCIS(线段树区间合并)

    LCIS Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  8. [有用命令]Linux 用户,用户组

    更改文件拥有者 -R 是递归的意思 chown [ -R ] root.work test 将test 文件 改为 拥有者 root , 用户组 work. chown [ -R ] work tes ...

  9. 揭密: M2和高房价到底谁推高了谁?

    近期,著名经济学家吴敬链向新华网等媒体表示:房价高的根本原本就是货币超发.近期十年来我国M2增长率(广义货币增长率)太快."钱太多了,有些人要保值就要投资买房,又因货币非常多购买力非常强.就 ...

  10. Process Node.js 进程

    Process 进程 process.argv 是命令行参数数组,第一个元素是node,第二个元素是脚本文件名,从第三个元素开始每个元素是一个运行参数. process.stdout 标准输出流 co ...