mysql的单向复制操作很简单:大概只需要二十分钟看完这篇文章就能搞定了。http://11837782.blog.51cto.com/11827782/1885967

为了提高主从服务器的健壮性,我们选择了mysql单向复制的方法,当主服务器宕机时,从服务器依旧可以接管,并且保持数据的相对完整性,而从服务器备份的时候不会干扰到主服务器的工作,可以说是一个强大的功能。

原理:将主服务器内数据更新封装为二进制文件的形式,发送到从服务器内更新,从服务器连接主服务器,主服务器也能得到它上次更新的位置。所有更新必须在主服务器上进行。

环境:rhel 6.5

主机:192.168.122.102(简称server2~)

次机:192.168.122.103 ( 简称server3~ )

首先在两台主机上安装mysql 环境(也可以选择多台从服务器),分别执行 

[root@server2 ~]# yum install mysqlmysql-server -y

[root@server3 ~]# yum install mysqlmysql-server -y

安装完毕后开始启动 server2 上的mysql,执行 

[root@server2 ~]# /etc/init.d/mysqld start

如上图,可以看到在开启mysql的时候出现了这种错误,这时需要删除以前的socker便可:执行

rm /var/lib/mysql/mysql.sock

可以看到这次启动就成功了然后在server2直接输入

mysql> GRANT REPLICATIONSLAVE,RELOAD,SUPER ON *.* TO test@'192.168.122.103' IDENTIFIED BY 'adol';(建立主机的同步账号)

mysql> Flush privileges;

从而允许 server3来作为slave来登陆server2,继续在server2上更改/etc/my.cnf 文件

[root@server2 ~]# vim /etc/my.cnf

在[mysqld]内添加下面四行内容

log-bin=mysql-bin(启动二进制日志系统)

binlog-do-db=adol(二进制需要同步的数据库名)

server-id=1(必须为1到232–1之间的一个正整数值,而且不可重复)

binlog-ignore-db=mysql(避免同步 mysql 用户配置,以免不必要的麻烦)

:wq 退出保存

执行 /etc/init.d/mysql restart 更新配置

在server3上修改 /etc/my.cnf 文件

[root@server3 ~]# vim /etc/my.cnf

添加下列行到【mysqld】内

server-id=2 (不能与server2一样,这是身份标志位,联想身份证号)

master-host=192.168.122.102(主机server2的ip)

master-user=test (主机可用的用户名称)

master-password=adol(主机可用名对应的密码)

master-port=3306(3306是默认的mysql端口)

master-connect-retry=60(断开重新连接时间,单位是秒)

replicate-ignore-db=mysql(忽略避免同步的数据库MYSQL)

replicate-do-db=adol(需要同步的数据库)

[root@server3 ~]# /etc/init.d/mysqld restart (重启mysql)

在server2的mysql内执行

mysql> show master status;

可得出这样的结果,可获取它的File和position值。

在server3内进入数据库更新配置,如下

mysql> stop slave;

mysql> change master to master  changemaster_host='192.168.122.102',master_user='test',master_password='adol',master_log_file='mysql-bin.000002',master_log_pos=106;

mysql > start slave;

被颜色标记的就是我们从master 那里获得的数据。

Server3执行  mysql > show slave status\G

可以得到          Slave_IO_Running: Yes

Slave_SQL_Running: Yes

当他们的值为YES时,说明slave 就可以从master同步复制了。

检测:

我的Server2和server3内数据都如下

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| adol               |

| adold              |

| marjur             |

| mysql              |

| ooo                |

+--------------------+

6 rows in set (0.09 sec)

mysql> use adol;

Database changed

mysql> show tables;

+----------------+

| Tables_in_adol |

+----------------+

| a              |

| k              |

+----------------+

2 rows in set (0.00 sec)

现在在server2内添加表

mysql> create table dd(name varchar(20));

Query OK, 0 rows affected (0.06 sec)

在server3内进入数据库adol内执行

mysql> show tables;

可以看到,server3多出了一个为dd的表,说明单向复制是成功的。

(注意:默认复制只能复制adol数据库内的内容,adol外的内容变动不会对 

server3 产生影响 。)

(转)mysql的单向复制的更多相关文章

  1. MySQL 主从数据库设置

    1.复制的介绍 MySQL 支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引 以跟踪日志循环.这些日志可 ...

  2. Oracle使用goldengate分别向Oracle和mysql双路的单向复制

    一.Oracle分别向Oracle和mysql双路的单向复制是在: ORACLE-mysql的单向复制基础上做的.http://blog.csdn.net/q947817003/article/det ...

  3. MySQL数据的主从复制、半同步复制和主主复制详解

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  4. MYSQL的主从和主主复制模式

    一.复制介绍 MySQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录 ...

  5. MySQL数据的主从复制、半同步复制和主主复制详解-转

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  6. 高性能mysql主存架构

    原文:高性能mysql主存架构 MySQL Replication(Master与Slave基本原理及配置) 主从mysql工作原理: 1:过程: (1)Mysql的复制(replication)是一 ...

  7. 业务零影响!如何在Online环境中巧用MySQL传统复制技术【转】

    业务零影响!如何在Online环境中巧用MySQL传统复制技术 这篇文章我并不会介绍如何部署一个MySQL复制环境或keepalived+双主环境,因为此类安装搭建的文章已经很多,大家也很熟悉.在这篇 ...

  8. MYSQL 主从复制---原理

    复制的核心步骤 在主库上把数据更改记录到二进制日志(Binary Log)中; 备库将主库上的日志复制到自己的中继日志(Relay Log)中; 备库读取中继日志中的事件,将其重放到备库数据之上; 下 ...

  9. MySQL主从复制的配置

    环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 主节点IP:192.168.1.205     主机名:edu-m ...

随机推荐

  1. window 下 nginx+php+fastcgi 架设备忘

    1.配置Php.ini 1)extension_dir = "./ext" 修改这个路径为真实的php的ext路径 2);extension=php_mysql.dll ;exte ...

  2. AC日记——Sagheer and Nubian Market codeforces 812c

    C - Sagheer and Nubian Market 思路: 二分: 代码: #include <bits/stdc++.h> using namespace std; #defin ...

  3. Mongo Connector for BI

    官网地址:https://www.mongodb.com/products/bi-connector 它目前包含两个组件: mongosqld:mongosqld接受来自SQL客户端的传入请求,并将这 ...

  4. .net反射详解 原文://http://blog.csdn.net/wenyan07/article/details/27882363

    概述反射 通过反射可以提供类型信息,从而使得我们开发人员在运行时能够利用这些信息构造和使用对象. 反射机制允许程序在执行过程中动态地添加各种功能. 运行时类型标识 运行时类型标识(RTTI),可以在程 ...

  5. 多线程下,Python Sqlite3报[SQLite objects created in a thread can only be used...]问题

    明明加了锁保护,还是出了下面的问题 ProgrammingError: SQLite objects created in a thread can only be used in that same ...

  6. Codeforces 1099 D. Sum in the tree-构造最小点权和有根树 贪心+DFS(Codeforces Round #530 (Div. 2))

    D. Sum in the tree time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  7. 680. Valid Palindrome II【Easy】【双指针-可以删除一个字符,判断是否能构成回文字符串】

    Given a non-empty string s, you may delete at most one character. Judge whether you can make it a pa ...

  8. 【转】【python】装饰器的原理

    写在前面: 在开发OpenStack过程中,经常可以看到代码中的各种注解,自己也去查阅了资料,了解了这是python中的装饰器,因为弱类型的语言可以将函数当成返回值返回,这就是装饰器的原理. 虽然说知 ...

  9. 解决在jqmobi框架上使用mobiscroll控件的bug问题

    jqmobi(appframework)框架的好处主要是它很轻量级,用在手机上占用内存较小,实际表现较为流畅,这也是它区别于jQuery mobile的一大特色,上一篇博客中提供了在它上面使用日期控件 ...

  10. DHCP获取IP地址过程中捕获的报文—三级网络总结(二)

    上一篇文章主要说了一下知识点中的IP地址的考点,这一篇我打算说说DHCP获取IP地址过程中捕获的报文的这个考点,都是自己的理解,有错误欢迎指正. DHCP是应用层协议,UDP是传输层协议,IP是网络层 ...