文档章节

MySQL服务器的主从复制过程

ZhouLS
 ZhouLS
发布于 2012/04/11 00:26
字数 771
阅读 283
收藏 7

对于MySQL服务器的主从复制分为两种情况:

一、两台MySQL服务器中都没有数据

在复制结构中从服务器的mysql的版本要比主服务器的一样或者高也行。
######################################################################################################
1、在主服务器上修改配置文件:
vim /etc/my.cnf
/修改:
server-id = 1 (默认是1)

# service mysqld restart

  2、连接到mysql数据库创建用户并赋于复制的权限
mysql>GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO repl@'172.16.%.%' IDENTIFIED BY '123456';
   

 3、在从服务器上修改配置文件:

vim /etc/my.cnf
修改:
servier-id = 11
关掉二进制日志
  # log-bin=mysql-bin
添加如下内容:
relay-log=relay-bin
relay-log-index=relay-bin.index

# service mysqld restart

4、在主和从服务器上分别清空一下日志

用命令:mysql>flush master;

同时在从服务器上也清空一下日志
在从服务器上:mysql> flush slave;
 要使主从服务器的日志位于相同一个结点,否则会出错。 
  5、清空日志后就可以连接到主服务器上了
mysql> CHANGE MASTER TO MASTER_HOST='172.16.35.1',MASTER_USER='repl',MASTER_PASSWORD='123456';
用命令:mysql> show slave status\G 来查看一下是否已经连接上
如果出现以下结果表明连接成功,则连接失败。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
  6、连接失败的原因有多种:
最常见的情况分别是:1、在主服务器上的用户可能出错
2、没有重新滚动一下主从服务器的日志,在连接前有必要重新滚动一下。

 7、 最后
在主服务器上创建或者删除数据库、表,就可以同步到从服务器上了。
在从服务器上也可以查看到从服务器要比主服务器慢多少时间用命令:
mysql> show slave status\G
定位到:Second_Behind_Master:0 (0,表示时间说明没有延迟)

二、主服务器上已经有数据,此时再开启从服务器
 1、在开启从服务器之前要先把主服务器上的数据导入从服务器中。所以要先备份一下主服务器上的数据
# mysqldump --all-databases --lock-all-tables --master-data=2 > /tmp/slave.sql
2、将备份复制到从服务器中
# scp /tmp/slave.sql 172.16.35.2:/tmp/
3、在从服务器上,把备份导入服务器中 
mysql> source /tmp/slave.sql
4、下面就可以连接了,但是在连接之前要先查看备份的文件
用命令head来查看
head -30 /tmp/slave.sql ##查看前30行的
有一行是:
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=279;
说明备份的位置是:MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=279
所以在连接之前一定要说明这个位置:
mysql>CHANGE MASTER TO MASTER_HOST='172.16.35.1',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=279;
返回的结果:Query OK, 0 rows affected (0.02 sec)
说明备份成功
 5、下面就可以启动从服务器了
mysql>start slave;
mysql>show slave status\G ##查看从服务器的状态是否连接成功
如下所示说明成功连接:
Slave_IO_Running: Yes

Slave_SQL_Running: Yes

经过以上的步骤就完成了mysql服务器的主从复制。如果有不同的地方请提出来,以便共同进步!

© 著作权归作者所有

共有 人打赏支持
ZhouLS

ZhouLS

粉丝 16
博文 9
码字总数 8719
作品 0
浦东
系统管理员
私信 提问
加载中

评论(1)

qinteng
qinteng
传说中的双机热备份吧,标记一下。mark!
MySQL主从同步(1)——同步介绍、复制的原理、复制过程

由于背景原因,所做的主从同步还是要基于MySQL 5.1的版本,主从同步主要是一个数据库读写访问原来的数据库热度过大,需要做到使用从库对读分压。 MySQL主从同步介绍 MySQL 支持单双向、链式级...

youcaihua
2016/08/09
55
0
MySQL的主从复制介绍及配置

1.MySQL主从复制介绍 MySQL数据库支持单向、双向、链式级联、环状等不同业务场景的复制。在复制过程中,一台服务器充当主服务器(Master),接收来自用户的内容更新,而一个或多个其他的服务...

10pcm
2018/06/26
0
0
Mysql主从复制以及常见错误问题分析

Mysql主从复制以及常见错误问题分析 一、主从复制简介: 1、mysql主从复制原理: Mysql主从复制的实现,主要依赖于二进制日志来实现,过程主要是根据把主的MySQL 的数据复制到其它主机( Sla...

技术小疯子
2018/01/22
0
0
Mysql主从复制

Mysql主从复制 背景: Mysql可以实现主从复制,在学习了Mysql主从复制后,将一些如何主从复制过程记录下来,供以后复习使用。 准备: 在做Mysql的主从复制前需要做一些准备工作: 1、同步时间...

657188918
2017/11/13
0
0
MySQL主从复制

1.1 MySQL主从复制介绍 MySQL数据库的主从复制方案,和使用scp/rsync等命令进行的文件级别复制类似,都是数据的远程传输,只不过MySQL的主从复制是其自带的功能,无需借助第三方工具,而且,...

lsy950109
2017/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

kettle demo9 在Java代碼中读取文件内容插入到数据库

kettle调用java代码一步步扩展,本次在Java代码里读取本地文件,然后把数据插入到数据库 本地文件内容,book.txt 完整流程图 1、生成记录,设置1条 2、java代码,主要两部分,第一,方法上面...

wells杨
32分钟前
3
0
使用split_size优化的ODPS SQL的场景

首先有两个大背景需要说明如下: 说明1:split_size,设定一个map的最大数据输入量,单位M,默认256M。用户可以通过控制这个变量,从而达到对map端输入的控制。设置语句:set odps.sql.mapp...

阿里云官方博客
34分钟前
3
0
让线程按顺序执行8种方法

实现 我们下面需要完成这样一个应用场景: 1.早上;2.测试人员、产品经理、开发人员陆续的来公司上班;3.产品经理规划新需求;4.开发人员开发新需求功能;5.测试人员测试新功能。 规划需求,...

编程SHA
38分钟前
2
0
云服务无法绑定公网IP问题解决方案

问题描述:在云服务器上跑的代码启动服务监听公网IP的时候可能报如下异常 bind: cannot assign requested addressbind: cannot assign requested address ..... 查看配置文件写的确实是ssh连...

MrPei
40分钟前
4
0
java中的this::

::是java8 中新引入的运算符 Class::function的时候function是属于Class的,应该是静态方法。 this::function的funtion是属于这个对象的。 注意: 调用方法可以名称不一样,但是需要参数一样...

Java搬砖工程师
44分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部