一、创建复制账号:
     在Master的数据库中建立一个备份帐户:每个Slave使用标准的MySQL用户名和密码连接master。
     进行复制操作的用户会授予REPLICATION SLAVE权限。用户名的密码都会存储在文本文件master.info中
     mysql > GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'repl'@'%' IDENTIFIED BY 'repl' WITH GRANT OPTION
     建立一个帐户repl,并且只能允许从192.168.1.113这个地址上来登陆,密码是repl。
二、拷贝数据:
     在Master上备份数据库dg :
     #mysqldump -u root -p dg > dg.sql
     将备份好的dg.sql文件拷贝到slave的根目录下:
     rsync -va dg.sql 192.168.1.113:/  
     在Slave上登录mysql恢复数据库dg
     mysql>create database dg;
     mysql>use dg;
     mysql>source /dg.sql;
     拷贝完成后,禁止在Master和slave服务器中进行写操作,使得两数据库中的数据一定要相同!
     在Master和Slave上都要锁定表
     mysql>flush tables with read lock;
三、配置Master:
     接下来对master进行配置,包括打开二进制日志,指定唯一的servr ID。
     vim /etc/mysql/my.cnf
     ubuntu装的mysql貌似没有打开bin_log,首先要到my.cnf里打开log_bin选项,即去掉log_bin的注释
     skip-external-locking 和 bind-address 选项要注释掉,不然不能远程连接数据库
 
     server-id = 1   ---Master的ID值(标示)
     log_bin=mysql-bin  ---二进制变更日值
     binlog_do_db=dg    ---需要同步的数据库
     binlog_ignore_db=mysql  ---不需要同步的数据库
 
     重启Master,运行show master status;
     #service mysql restart
     #mysql -u root -p 123
     mysql>show master status;
     获取master_log_file:mysql-bin.000001
     master_log_pos 120
四、配置Slave:
     此项与配置Master类似,/etc/mysql/my.cnf
     去掉log_bin的注释,将skip-external-locking 和 bind-address 选项要注释掉
 
     server-id = 2
     log_bin = mysql-bin
     relay_log = mysql-relay-bin
     log_slave_updates = 1
     read_only =1
 
     server_id是必须的,而且唯一。slave没有必要开启二进制日志,但是在一些情况下,必须设置,例如,如果slave为其它slave的               master,必须设置bin_log。在这里,我们开启了二进制日志,而且显示的命名(默认名称为hostname,但是,如果hostname改变则会     出现问题)。
     relay_log配置中继日志,log_slave_updates表示slave将复制事件写进自己的二进制日志(后面会看到它的用处)。
     有些人开启了slave的二进制日志,却没有设置log_slave_updates,然后查看slave的数据是否改变,这是一种错误的配置。所以,尽     量使用read_only,它防止改变数据(除了特殊的线程)。但是,read_only并是很实用,特别是那些需要在slave上创建表的应用。
 
五、启动Slave:
     在Slave上:
     mysql>change master to
        ->master_host='192.168.1.112',
        ->master_user='repl',
        ->master_password='repl',
        ->master_log_file='mysql-bin.000001',
        ->master_log_pos=0;
     如果mysql的接口修改过,则换成现在的接口master_port=3303,
     mysql>show slave status\G;
     Slave_IO_State, Slave_IO_Running, 和Slave_SQL_Running是No
     表明slave还没有开始复制过程。日志的位置为4而不是0,这是因为0只是日志文件的开始位置,并不是日志位置。实际上,MySQL知道的第一个事件的位置是4。

mysql主从复制-异步复制的更多相关文章

  1. 【3.1】【mysql基本实验】mysql复制(主从复制/异步复制/半同步复制,一主一从)

    关键词:mysql复制(异步复制),mysql异步复制 核心原理: mysql 复制流程原理 一个事务在 mysql异步复制中的流程与生命周期 一个事务,在传统半同步的复制流程 #mysql主从基本实 ...

  2. MySQL主从复制异步原理以及搭建

    MySQL主从复制的原理: 1.首先,MySQL主库在事务提交时会把数据变更作为时间events记录在二进制日志文件binlog中:MySQL主库上的sync_binlog参数控制Binlog日志以什 ...

  3. mysql主从异步复制过程

    mysql是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失.为了保证mysql数据库的可靠性.就要会一些提高可靠性的技术. 主从复制原理如下. slave(从服务器) master(主服务器) ...

  4. MySQL的异步复制、全同步复制与半同步复制

    异步复制 异步复制,主库将事务 Binlog 事件写入到 Binlog 文件中,此时主库只会通知一下 Dump 线程发送这些新的 Binlog,然后主库就会继续处理提交操作,而此时不会保证这些 Bin ...

  5. mysql关于“异步复制”“同步复制”“半同步复制”“无损复制”的概念与区别

    异步复制:主把事务写到binlog日志并不管从是否接收或者什么时候接收,commit之后,不会与从发生ack之类的交互. 同步复制:当主提交一个事务,在主向前端返回一个commit成功的指令前,必须保 ...

  6. MySQL主从复制_复制过滤

    关于主从过滤,建议只在从服务器做设定,在Master 端为保证二进制日志的完整, 不建议使用二进制日志过滤. Master 可用参数: binlog-do-db= #定义白名单,仅将制定数据库的相关操 ...

  7. MySQL5.7主从复制-异步复制搭建

     两台服务器,系统是Redhat6.5,MySQL版本是5.7.18.1.在主库上,创建复制使用的用户,并授予replication slave权限.这里创建用户repl,可以从IP为10.10.10 ...

  8. linux MySql 主从异步复制

    [root@localhost ~]# hostname master.allentuns ###SLAVE 执行 [root@localhost ~]# sed -i 's@\(HOSTNAME=\ ...

  9. (5.4)mysql高可用系列——MySQL异步复制(实践)

    关键词:mysql复制,mysql异步复制,mysql传统异步复制 [1]实验环境 操作系统:CentOS linux 7.5 数据库版本:5.7.24 数据库架构:主从复制,主库用于生产,从库用于数 ...

随机推荐

  1. Android 增加(键盘)按键

    以添加 camera按键为例(红色是需要添加的) 一.kernel键值定义 (1)键扫描码 ScanCode是由linux的Input驱动框架定义的整数类型,可参考input.h头文件,即geteve ...

  2. spring data jpa自定义bean字段映射

    当遇到复杂多表查询时,并且同时还需要确保查询性能,此时则需要使用自定义sql查询,然而spring data jpa对于自定义sql则需使用查询需要在对应的bean中做太多的配置映射,我尝试了一下,最 ...

  3. 如何使用ArcGIS发布LiDAR 点云

    LiDAR--Light Detection And Ranging,即激光探测与测量技术. 下面将介绍如何使用ARCGIS来发布LiDAR的成果点云数据. LiDAR的点云数据一般格式为LAS.在A ...

  4. Excel图表-太极图

    p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...

  5. 老李分享:持续集成学好jenkins之Git和Maven配置 2

    8.检查代码更新并编译 可以通过Poll SCM来设置定时检查编译功能 比如*/5 * * * * 就是每隔5分钟检查一次,如果git仓库中有更新,则执行build操作. 9.使用Maven私服加快下 ...

  6. 老李分享:接电话扩展之uiautomator 1

    老李分享:接电话扩展之uiautomator   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq ...

  7. 老李分享:loadrunner 的86401错误

    老李分享:loadrunner 的86401错误   系统和软件配置: os:windows 2003loadruner版本:LoadRunner11loadrunner:协议:SMTP协议并发数:2 ...

  8. js正则表达式匹配字符串与优化过程

    前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...

  9. Android™ 1.5 android.R.drawable Icon Resources

    图标一览表: http://www.darshancomputing.com/android/1.5-drawables.html 官  方  API: http://developer.androi ...

  10. 将 JSP 中数组传递给 js

    <%       String[]  name   =   { "w ", "a ", "n ", "g"}; % ...