Mysql数据库主从复制原理:

主库开启bin-log日志,同时生成IO线程。IO线程负责将用户写入数据库的sql语句记录在二进制日志bin-log,该记录过程可并发进行;生成标识号 server id ;创建主从复制账号。

  从库不需要开启bin-log日志,开启主从复制后,从库将产生一个IO线程,从库IO线程监控主库bin-log日志,当bin-log 日志发生变化时,从IO线程将会通过3306端口向主IO线程申请验证,进行数据交换,具体验证信息:1 主库IP和端口号、2 主库的复制账号和密码、3 所要复制的bin-log日志的文件名、4 文件中position具体位置。验证通过后主IO线程将对应的内容复制给从IO线程,该过程可以并发进行。此时从库文件master.info 记录了验证信息和完成数据交换的bin-log日志文件及文件中的位置信息。从库IO线程将内容放在从库中继日志relay-log中。SQL线程启动,查看relay-log ,将其中更新的二进制语句编译解析成sql语句,存储在从库的mysql data 目录中,并在relay-log.info文件中记录sql进程解析relay-log的文件名及位置信息,完成主从复制。

主从备份搭建

试验环境:master: 1922.168.200.151  slave : 192.168.200.129

一、     建立时间同步环境

l  Master:安装配置ntp时间同步服务

#yum –y install ntp

#cp /etc/ntp.conf /etc/ntp.conf.origin

#vim /etc/ntp.conf

22 server 127.127.1.0  //手动添加

23 fudge 127.127.1.0 startum 8 //手动添加

#/etc/init.d/ntpd start

#chkconfig ntpd on

l  Slave :

# yum –y install ntpdate

#ntpdate 192.168.200.151

二、     在master上执行操作配置

1、     1.1开启bin-log日志,并设置server-id 值

# vim /etc/my.cnf

    

    

**上面三个参数要放在[mysqld]模块下;添加参数并不能重复

#/etc/init.d/mysqld start

    

    

1.2登陆数据库,检查参数的更改情况

    

    

 2、   建立主从复制账号(权限为允许从库连接并同步数据)

2.1登陆数据库,建立主从复制账号yunjisuan

    #mysql –uroot –p123123

    >grant replication slave on *.* to ‘yunjisuan’@‘192.168.200.129’identified by ‘yunjisuan123’;

    

    

    注:replication slave 为mysql同步的必须权限,此处不要授予all权限

    >flush privileges;

    2.2检查创建的账号

    >select user,host from mysql.user;

    

  3、 对主库锁表全备份

3.1对主数据库锁表只读

>flush table with read lock;  //零时锁表,超过设置时间,将会自动解锁

    

  3.2 锁表后查看主库状态。可通过当前bin-log日志文件名和bin-log日志偏移量来查看

注:show master status 命令显示信息要记录在案,后面从库导入全备后,继续和主库复制是要从这个位置开始。

> show master status;

   

  3.3新开一个SSH窗口,全备数据库数据  

     

   3.4 解表主库

>unlock tables;

3.5 将全备数据推送到从库

      

三、     配置从服务器

  1.1    将全备份数据导入从库

  #mysql –uroot –p123123 < /temp/mysql_all*

  2.2#vim /etc/my.cnf

  

  #/etc/init.d/mysqld start

2.3 给从库记录主从复制验证信息

   2.4启动从库主从复制开关,并查看复制状态

  

  导致lave_IO_Running 为connecting 的原因主要有以下 3 个方面:网络不通;

  密码不对;pos不对

  经排查是秘密输错了,再次>show slave status\G;

  

Mysql数据库主从复制搭建的更多相关文章

  1. mysql数据库主从复制部署笔记

    主从复制是mysql中数据库实时同步的一个常用做法了,今天我来给各位介绍一下关于mysql数据库主从复制部署一个过程,希望此例子对各位同学参考参考. 数据库主从复制原理: 数据库的主从复制就是从mas ...

  2. ubuntu 下 mysql数据库的搭建 及 数据迁移

    1.mysql的安装 我是使用apt-get直接安装的 :sudo apt-get install mysql-server sudo apt-get install mysql-client 2.配 ...

  3. MySQL 数据库主从复制架构

    前文<MySQL 数据库事务与复制>分析了 MySQL 复制过程中如何保证 binlog 和事务数据之间的一致性,本文进一步分析引入从库后需要保证主从的数据一致性需要考虑哪些方面. 原生复 ...

  4. mysql数据库主从复制教程

    mysql主从复制教程 架构规划: 192.168.201.150 master 主节点 192.168.201.154 slave 从节点 1. 修改mysql的配置文件(主节点,从节点都要修改) ...

  5. 怎样解决MySQL数据库主从复制延迟的问题---流行网站的解决办法(转载)

    像Facebook.开心001.人人网.优酷.豆瓣.淘宝等高流量.高并发的网站,单点数据库很难支撑得住,WEB2.0类型的网站中使用MySQL的 居多,要么用MySQL自带的MySQL NDB Clu ...

  6. MySQL数据库主从复制

    一.MySQ主从复制(主库写入数据,从库读取数据) MySql官方下载地址:http://dev.mysql.com/downloads/mysql/ MySql常用命令: 设置密码 UPDATE U ...

  7. mysql数据库主从搭建

    一.最近一直在学习mysql的东西,刚好看到mysql如何搭建主从数据库,搜集了很多资料后大致了解了mysql主从复置的原理.以下是我的理解: 举例master为主数据库,slave为从数据库. sl ...

  8. MySQL数据库主从复制实践

        MySQL 主从(MySQL Replication),主要用于 MySQL 的实时备份.高可用HA.读写分离.在配置主从复制之前需要先准备 2 台 MySQL 服务器. 一.MySQL主从原 ...

  9. 怎样解决MySQL数据库主从复制延迟的问题

    像Facebook.开心001.人人网.优酷.豆瓣.淘宝等高流量.高并发的网站,单点数据库很难支撑得住,WEB2.0类型的网站中使用MySQL的居多,要么用MySQL自带的MySQL NDB Clus ...

随机推荐

  1. 继承ActionSupper类报错 --Struts2

    如下图所示,继承ActionSupper类报错: 原因:缺少Struts2中JAR包,具体是:

  2. 让JSON.js完全适应.NET

    动机:.net 默认的时间序列化方式为\/Date(数字 时区)\/,序列化成JSON在前端很难处理,有没有一种好的处理方式呢? 改进: JSON = new function(){ this.dec ...

  3. WebSocket ,Socket ,Http差异

    最近一直被Socket 被Http搞懵了,然后归类整理了下 首先需要知道网络七层,从上至下 应用,表示,回话,传输,网络,数据链路,物理,一共7层 WebSocket: 这个是在Html5提出的一种规 ...

  4. Nginx配置中的log_format用法梳理(设置详细的日志格式)

    nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式:另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,可以参加ngx_http_log_mo ...

  5. kali-rolling安装使用sonarqube教程(docker方式)

    一.说明 最近要找一款代码审计工具,Fortify SCA太贵,VisualCodeGrepper不太好用.在freebuf上看到可用sonarqube来建代码自动化扫描系统所以也来试一试. 直接安装 ...

  6. tensorFlow(一)相关重要函数理解

    1.函数及参数:tf.nn.conv2d conv2d( input, filter, strides, padding, use_cudnn_on_gpu=True, data_format='NH ...

  7. Visual Basic 2017 操作Excel和word【1】持续更新……

    我坚持在VB的路上走到黑…………  清单1.1  从应用程序对象导航到Excel中的工作表  Dim myWorkbooks As Excel.Workbooks = app.Workbooks ) ...

  8. SQL-47 如何获取emp_v和employees有相同的数据?

    题目描述 存在如下的视图:create view emp_v as select * from employees where emp_no >10005;如何获取emp_v和employees ...

  9. Codeforces Round #244 (Div. 2) C. Checkposts (tarjan 强连通分量)

    题目:http://codeforces.com/problemset/problem/427/C 题意:给你n座城市,m条有向道路,然后有一个机制,你在某一个城市设置检查点,那么被设置的检查点受保护 ...

  10. Sed+Grep 快速替换查找字段(批量替换字符串)

    格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl路径` 命令分解: grep 查找字段 -rl路径   列出”路径”中” 查找字段” 的所有文件 ...