文档章节

如何配制MySql的Replication

猪刚烈
 猪刚烈
发布于 2014/10/12 11:48
字数 1049
阅读 8
收藏 0
点赞 0
评论 0

1.建立专门用于Replication的账户

首先Replication操作会涉及到的两个重要权限,这里先做一下说明:
The REPLICATION CLIENT  privilege enables the use of SHOW MASTER STATUS and SHOW SLAVE STATUS.
REPLICATION CLIENT 使得用户可以使用SHOW MASTER STATUS和SHOW SLAVE STATUS命令,也就是说这个权限是用于授予账户监视Replication状况的权力。
The REPLICATION SLAVE privilege should be granted to accounts that are used by slave servers to connect to the current server as their master. Without this privilege, the slave cannot request updates that have been made to databases on the master server.
REPLICATION SLAVE则是一个必须而基本的权限,它直接授予slave服务器以该账户连接master后可以执行replicate操作的权利。

一般来说,我们会单独在主服务器创建一个专门用于Replication的账户。这个账户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,保证该用户的职责单一。假定我们要建立的这个账户为repl,密码为repl,那么这一操作的命令如下:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.%' IDENTIFIED BY 'repl';
其中要特别说明一下192.168.0.%,这个配置是指明repl用户所在服务器,这里%是通配符,表示192.168.0.0-192.168.0.255的Server都可以以repl用户登陆主服务器。如果没有使用通配符,而访问的服务器又不在上述配制里,那么你将无法使用该账户从你的服务器replicate主服务器.
另外在《Hight Performance MySql》一书中对用户权限的设置有所不同,作者建议在主机和从机上都配置repl账户,并同时赋予REPLICATION SLAVE和REPLICATION CLIENT权限,命令如下:
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@'192.168.0.%' IDENTIFIED BY 'repl';
作者解释了这样做的好处:一方面使用同一账户对Replication进行监视管理会很方便,不必区分slave,master,另一方面,repl账户在slave和master上的配制是一样的,这样如果我们切换slave和master,账户不需要做任何改动。

2.配置主从服务器


主从服务器的配置都是通过改写my.cnf/my.ini文件来完成的。
下面是主从服务器的必须的配置项:
主机必须的配置项:
log-bin //自定义,比如 log-bin=mysql-bin
server_id //为server起一个唯一的id,默认是1,推荐使用IP的最后一节。
从机必须的配置项:
server_id //为server起一个唯一的id,默认是1,推荐使用IP的最后一节.

注意:一般,我们也会为从机设定log-bin,这是因为默认的log-bin文件是根据主机名命名的,一旦机器更改主机名就会出问题,再者保持主从机的配制一致也方便做主从机切换!

主机可选的配置项:(用于配置主机哪些库会做二进制日志用以Replicate)
binlog-do-db
binlog-ignore-db
从机可选的配置项:(用于配置从机会Replicate哪些库和表)
replicate-do-db, replicate-ignore-db
replicate-do-table, replicate-ignore-table
replicate-wild-do-table
replicate-wild-ignore-table
注意:一条建议是不要在my.cnf/my.ini中配制master_host等选项,而应该使用CHANGE MASTER TO命令来动态设置!

 

对于Master端,我只需简单地设置server_id和log_bin两项即可,对于Slave端其实只需要设置server_id,但是还有一些推荐的设置项。以下是《Hight Performance MySql》一书中给出的Slave端的推荐设置


# SLAVE-END replication-related configuration.
# The only required option for slave-end is server_id.
# The other options are recommanded on P 349 of《Hight Performance MySql》
server_id=234
log_bin=mysql_bin_log
relay_log = mysql_relay_bin_log
log_slave_updates = 1
read_only = 1

 


3.连接从服务器至主服务器进行Replicate


通过在从服务器上输入CHANGE MASTER TO命令可以使从服务连接到某个主服务器上进行replication.
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.246',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='repl',
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=0;

输入上述命令后即完成了全部配置工作,通过:
start slave;
启动从服务的replication工作,这样主从服务器就开始同步了。你可以通过:
SHOW SLAVE STATUS/G;
命令来查看从服务器的状态,如果是Slave_IO_State一项显示:Waiting for master to send event,表示所有工作已经就绪。

本文转载自:http://blog.csdn.net/bluishglc/article/details/5744303

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
单机版的Mysql主从数据库配置

环 境 mysql-5.0.22 解压版。(Copy 成两份 ,master,slave) windowsXP 一、Master的设置 1、配制my.ini [client] port = 3308 [mysqld] port =3308 server-id = 1 binlog-do-db=test1 ##要同......

黄平俊
2009/04/30
0
2
centos 下载安装mysql

1、到chinaunix下载mysql 下载地址: http://download.chinaunix.net/download/0008000/7159.shtml 2、上传到CentOS服务器 本例放在 /usr/local/backup 中 3、创建mysql组及用户 [root@loca......

墨梅
2014/01/14
0
0
linux下安装xampp,XAMPP目录结构

XAMPP目录结构 重要的文件和目录 文件/目录 用途 ---------------------------------------------------------------------- Linux下XAMPP环境安装 官方教程:https://www.apachefriends.org......

万里虎
2014/11/29
0
0
DWZ框架 + ThinkPHP 实现小组工作日志系统--Dwz_group

Dwz_group 是 DWZ 框架 + ThinkPHP 实现小组工作日志系统 主要功能是可以清楚的看到一周,每人手上都有什么任务,方便合理安排和调整小组任务 Quick Start: 1)安装部署: a)下载代码,Apa...

张慧华
2015/10/30
1K
0
Mysql 数据库的同步(master slave) 详解

####原理######## mysql 的数据同步,在 mysql 官方网站文档上,叫 replication 字面是重作的意思,意译就是同步了。 mysql 为了实现 replication 必须打开 bin-log 项,也是打开二进制的 my...

刘赤龙
2010/06/08
0
0
Mysql 数据库的同步(master slave) 详解

####原理######## mysql 的数据同步,在 mysql 官方网站文档上,叫 replication 字面是重作的意思,意译就是同步了。 mysql 为了实现 replication 必须打开 bin-log 项,也是打开二进制的 my...

刘赤龙
2010/05/26
0
0
我的qmail+vpopmail+igenus的安装历程

声明:这个文档是我根据我的配制所编写的,其中可能有些雷同,因为我也是参看那些文档安装而成的,但是,这个文档中包含了一些我在安装过程中出现的问题,以及我如何解决的方法。我曾在red h...

JavaGG
2009/05/05
229
0
XAMPP 的安装配置(Linux 版)

--姜庭华 msn: jaimejth@live.cn --博客:http://blog.csdn.net/jaimejth 软件下载在以下网站 http://www.apachefriends.org/zhcn/index.html XAMPP 是一个易于安装且包含 MySQL、PHP 和 Perl......

imzdx
2016/08/24
0
0
XAMPP在Ubuntu下详细的安装与启动步骤

1、下载:首先通过wget下载 xampp linux 1.7.3a版本,地址为http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/xampp-linux-1.7.3a.tar.gz 记住在Ubuntu下使用wget的时候前面要加s......

鉴客
2011/12/01
1K
0
MySQL高可用浅析

对于多数应用来说,MySQL都是作为最关键的数据存储中心的,所以,如何让MySQL提供HA服务,是我们不得不面对的一个问题。当master当机的时候,我们如何保证数据尽可能的不丢失,如何保证快速的...

59090939
2016/05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Call to undefined function Workerman\posix_getpid

workerman 在centos下报PHP Fatal error: Call to undefined function Workerman\posix_getpid posix在下面这个包中php-process...

dragon_tech
5分钟前
0
0
mysql 7.4 创建表 时  所建表 字段太多 导致失败

报错:[Err] 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. 解决方法:把表的引......

qimh
7分钟前
0
0
语法补漏

1.if...elif...else... 代码示例: test=10 if test>9: print(1) elif test>8: print(2) elif test>7: print(3) else: print('nothing') 输出代码: 1...

十年磨一剑3344
8分钟前
0
0
Python -re模块及正则表达式解析

传送门: https://blog.csdn.net/pipisorry/article/details/25909899 ps:上面文章中"命名分组"的语法格式不能执行。正确的如下: (?P<name>正则表达式) #name是一个合法的标识符 除了使用别名...

一口今心
15分钟前
0
0
mybatis中session.getMapper方法源码分析

0开始代码AuthorMapper mapper = session.getMapper(AuthorMapper.class); 1 DefaultSqlSession类 @Override public <T> T getMapper(Class<T> type) { //最后会去调用MapperRegistry.getMap......

writeademo
23分钟前
1
0
spring cloud zuul网关的作用

zuul一般有两大作用,1是类似于Nginx的网址重定向,但zuul的重定向的一般是整个spring cloud里在Eureka注册中心的模块. zuul: ignored-services: '*' sensitiveHeaders: routes: ...

算法之名
23分钟前
9
0
java按比例之原图生成缩略图

package com.wxp.test; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import javax.imageio.ImageIO; import sun.......

恋码之子
33分钟前
1
0
SpringCloud 微服务 (十五) 服务容错 Hystrix

壹 工作中的微服务架构,某个服务通常会被多个服务调用或者多层调用完成需求,如果某个服务不可用,导致一个系统功能不可用或者服务直接没用了的情况,这种情况称为雪崩效应 有A服务调用B服务,B服...

___大侠
35分钟前
1
0
Spring框架中的设计模式(五)

Spring框架中的设计模式(五) 通过以前的4篇文章,我们看到Spring采用了大量的关于创建和结构方面的设计模式。本文将描述属于行为方面的两种设计模式:命令和访问者。 前传: Spring框架中的...

瑞查德-Jack
38分钟前
1
0
解决phpstorm运行很卡问题!

phpStorm一旦达到这个临界值,所有智能提示、自动补全都失效了 这TM就很尴尬了,顿时感觉自己就是个废人了,纯手写代码跟便秘一样 众所周知phpStorm基于JAVA,那么这个内存限制肯定跟JAVA的虚...

sjcehui2010
41分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部