(转)mysql的单向复制
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的单向复制的更多相关文章
- MySQL 主从数据库设置
1.复制的介绍 MySQL 支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引 以跟踪日志循环.这些日志可 ...
- Oracle使用goldengate分别向Oracle和mysql双路的单向复制
一.Oracle分别向Oracle和mysql双路的单向复制是在: ORACLE-mysql的单向复制基础上做的.http://blog.csdn.net/q947817003/article/det ...
- MySQL数据的主从复制、半同步复制和主主复制详解
一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...
- MYSQL的主从和主主复制模式
一.复制介绍 MySQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录 ...
- MySQL数据的主从复制、半同步复制和主主复制详解-转
一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...
- 高性能mysql主存架构
原文:高性能mysql主存架构 MySQL Replication(Master与Slave基本原理及配置) 主从mysql工作原理: 1:过程: (1)Mysql的复制(replication)是一 ...
- 业务零影响!如何在Online环境中巧用MySQL传统复制技术【转】
业务零影响!如何在Online环境中巧用MySQL传统复制技术 这篇文章我并不会介绍如何部署一个MySQL复制环境或keepalived+双主环境,因为此类安装搭建的文章已经很多,大家也很熟悉.在这篇 ...
- MYSQL 主从复制---原理
复制的核心步骤 在主库上把数据更改记录到二进制日志(Binary Log)中; 备库将主库上的日志复制到自己的中继日志(Relay Log)中; 备库读取中继日志中的事件,将其重放到备库数据之上; 下 ...
- MySQL主从复制的配置
环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL版本:mysql-5.6.26.tar.gz 主节点IP:192.168.1.205 主机名:edu-m ...
随机推荐
- 【机器学习】k-近邻算法应用之手写数字识别
上篇文章简要介绍了k-近邻算法的算法原理以及一个简单的例子,今天再向大家介绍一个简单的应用,因为使用的原理大体差不多,就没有没有过多的解释. 为了具有说明性,把手写数字的图像转换为txt文件,如下图所 ...
- AC日记——小A的糖果 洛谷七月月赛
小A的糖果 思路: for循环贪心: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 #defi ...
- AC日记——矩阵取数游戏 洛谷 P1005
矩阵取数游戏 思路: dp+高精: 代码: #include <bits/stdc++.h> using namespace std; #define ll long long struc ...
- React Native - 5 ListView实现图文混排
首先在根目录下建一个images文件夹,准备好图片 准备datasource 准备图片资源 准备renderRow方法 记得要import相应的类,ListView, Image, Touchable ...
- 如何判断图中存环(正&负)
1.正环 用 SPFA不断的进行松弛操作,发现当前金额可以比本身大就更新,同时记录更新次数.如果更新次数超过n次,说明存在”正“环. 2.负环 这里先说明下负环.(求最短距离的时候) 在我们用SPFA ...
- CodeForces 740A Alyona and copybooks
完全背包. 直接做个背包容量为$100000$的完全背包,这样就可以避免繁琐的分类讨论了. #pragma comment(linker, "/STACK:1024000000,102400 ...
- 设计模式-命令模式(Command Pattern)
本文由@呆代待殆原创,转载请注明出处:http://www.cnblogs.com/coffeeSS/ 命令模式简述 命令模式的主要作用是将“行为请求者”和“行为实现者”解耦.举个例子,假如我们现在要 ...
- angularjs学习笔记3-directive中scope的绑定修饰符
在angularjs中,一个directive返回一个对象,对象存在很多属性,并且可以在directive中自定义自己的scope,而使用自己的scope是为了防止一个directive被使用在多个地 ...
- python搜索引擎(转)
用python如何实现一个站内搜索引擎? 先想想搜索引擎的工作流程: 1.网页搜集.用深度或者广度优先的方法搜索某个网站,保存下所有的网页,对于网页的维护采用定期搜集和增量搜集的方式. 2.建立索引库 ...
- 【UOJ #34】多项式乘法
http://uoj.ac/problem/34 看了好长时间的FFT和NTT啊qwq在原根那块磨蹭了好久_(:з」∠)_ 首先设答案多项式的长度拓展到2的幂次后为n,我们只要求出一个g(不是原根)满 ...