文档章节

1、MySQL主从复制配置

凯文加内特
 凯文加内特
发布于 2015/05/16 09:26
字数 629
阅读 112
收藏 0

1、 MySQL主从复制配置

Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务。首先确保主从服务器上的Mysql版本相同

1.1修改主服务器master:

由于集群下的复制是基于row-based复制的,因此需要设置logbin-format的格式为:ROW 或者 MIXED。还有就是记得配置你的Relay_Log_File文件,如果你没有配置它、它处于关闭状态,那么你查看集群状态时、得到的是:

Error reading packet from server: Binary log is not open

找到目录etc/mysql/my.cnfmy.ini文件,文件中d[mysqld]后边加上:

server-id = 1 (自定义ID不能服务器配置文件相同)   

binlog_format = "ROW" #or MIXED  

log-bin=mysql-bin  

然后保存文件

1.2修改从服务器slave:

找到/etc/mysql/my.cnf my.cnf文件里面的[mysqld]后边加上如下几行: 

server-id = 2   

relay-log-purge=1   

skip-slave-start    

replicate-ignore-db=mysql  #mysql库不同步

在配置过后

 

sudo service mysql restart

1.3重启两台服务器的mysql

1.4在主服务器上建立帐户并授权slave:

GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456'; //一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全。mysync用户名q123456密码

1.5登录主服务器的mysql,查询master的状态

mysql>show master status;
   +------------------+----------+--------------+------------------+
   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
   +------------------+----------+--------------+------------------+
   | mysql-bin.000004 |      308 |              |                  |
   +------------------+----------+--------------+------------------+
   1 row in set (0.00 sec)

注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

1.6配置从服务器Slave

mysql>change master to master_host='192.168.1.160',master_user='slave',master_password='slave', master_log_file='mysql-bin.000300',master_log_pos=1354047;  

Mysql>start slave;    //启动从服务器复制功能

1.7检查从服务器复制功能状态:

   mysql> show slave status\G

   *************************** 1. row ***************************

                Slave_IO_State: Waiting for master to send event

                  Master_Host: 192.168.1.160  //主服务器地址

                  Master_User: myrync         //授权帐户名,尽量避免使用root

                  Master_Port: 3306           //数据库端口,部分版本没有此行

                 Connect_Retry: 60

                Master_Log_File: mysql-bin.000004

              Read_Master_Log_Pos: 600   //#同步读取二进制日志的位置,大于等大于等于>=Exec_Master_Log_Pos

                Relay_Log_File: ddte-relay-bin.000003

                 Relay_Log_Pos: 251

            Relay_Master_Log_File: mysql-bin.000004

                Slave_IO_Running: Yes       //此状态必须YES

              Slave_SQL_Running: Yes       //此状态必须YES

注:Slave_IO_RunningSlave_SQL_Running进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)
以上操作过程,主从服务器配置完成。

 


© 著作权归作者所有

共有 人打赏支持
凯文加内特
粉丝 330
博文 667
码字总数 87615
作品 0
青岛
后端工程师
Mysql主从复制以及常见错误问题分析

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

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

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

657188918
2017/11/13
0
0
MYSQL主从复制配置

下载免安装MYSQL版本,这里以5.5.50版本为例,配置一主两从MYSQL服务 2. 解压复制三份,分别命名为 3. 创建my.ini配置文件,配置Master数据库 3. 创建my.ini配置文件,配置Slave 1数据库 4....

我想去看一看大海
2016/07/03
36
0
Mysql数据库AB复制简单实现

Mysql 主 从 复 制 在实际企业应用环境当中,单台mysql数据库是不足以满足日后业务需求的。譬如服务器发生故障,没有备份服务器来提供服务的话,业务就得停止。介于这种情况,我们可以对mys...

YLSL2014
07/04
0
0
MySQL 主从复制原理及搭建

一.主从复制的工作过程: 二.MySQL复制类型 基于SQL语句的复制 基于行的复制 混合复制 三.实验环境 OS:CentOS 6.5 x64 master:192.168.0.134 slave:192.168.0.135 三.配置主从复制 1.配置...

HowardSir
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

这些Spring中的设计模式,你都知道吗?

设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。 Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行...

Java填坑之路
24分钟前
1
0
Spring Aop原理之Advisor过滤

在上文(Spring Aop之Advisor解析)中我们讲到,Spring Aop对目标bean的代理主要分为三个步骤:获取所有的Advisor,过滤当前bean可应用的Advisor和使用Advisor为当前bean生成代理对象,并且上文...

爱宝贝丶
35分钟前
0
0
JMockit学习教程

1 JMockit中文网 我觉得如果仅仅是开发自测的话,把JMockit中文网认真看一遍,就可以在项目中使用JMockit了。 http://jmockit.cn/index.htm 2 JMockit中文教程 官方文档中文版。对于不喜欢看...

SuperHeroes
47分钟前
0
0
Linux服务器几乎从不采用Arch Linux?

我们见得多的Linux服务器系统一般都是什么Ubuntu Server啊,什么Cent OS啊,什么Fedora啊,或者企业采用的Red Hat啊,为什么几乎没有Arch Linux呢?下面我将从若干个方面指出Arch Linux在服务...

linux-tao
58分钟前
0
0
js 函数柯里化 闭包

参考 https://mp.weixin.qq.com/s/GEHL3jarDdAAcr5tQGjmDg 一个统计求和的函数 需要知道整个数组的信息,然后遍历求值 function countMoney() { let money = 0 // 温馨提示:arguments...

阿豪boy
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部