mysql5.6主从复制

首先创建一个给从服务器的用户

GRANT REPLICATION SLAVE ON *.* to ‘从服务器用户帐号‘@‘从服务器地址‘ identified by ‘从服务器用户密码’;

然后给这个从服务器用户处理数据库的权限

grant all privileges to 数据库名.* to ‘从服务器用户帐号‘@‘从服务器地址‘ identified by ‘从服务器用户密码’;

要多少个数据库就重复写多少次

接下来配置主服务器

修改 master 的my.cnf配置文件,在[mysqld]下添加如下配置:

[mysqld]

log-bin=/usr/local/mysql56/binlog/master-bin

log-bin-index=/usr/local/mysql56/binlog/master-bin.index

binlog-do-db=要同步的数据库(多个换行重写)

server-id=1

说明:

log-bin 配置的是开启二进制日志,并将日志写在配置的路径上。记录的日志将以master-bin.000001 的方式进行记录。

log-bin-index 配置的是二进制日志记录文件的目录。该文件中每一行都是二进制日志文件的路径。

server-id是该MySQL服务器的服务ID,用于区分在主从配置中的其他服务器。

配置成功后,重启mysqld服务。

注意:如果不定义log-bin的文件名,则会以hostname主机名命名,一旦主机名修改,则会因为找不见二进制文件报错。所以最好还是显示指定文件名。

修改 slave 的my.cnf配置文件,在[mysqld]下添加如下配置:

server-id=11

relay-log=/usr/local/mysql56/binlog/slave-relay-bin

relay-log-index=/usr/local/mysql56/binlog/slave-relay-bin.index

replicate-do-db=需要复制的数据库(多个换行重写)

server-id和master意义一样,用于区分不同的mysql服务器。

relay-log用以记录收到的中继二进制日志。relay-log-index用以保存收到的日志路径索引。如果不显示指定文件名,则以hostname值命名。

保存后可以重启mysqld服务。

在主数据库输入show master status,记下file和position的值,这个在从数据库连接的时候要用

在从数据库输入

stop slave;

reset slave all;

change master to master_host=’主数据库ip’, master_user=’从服务器用户帐号’, master_password=’从服务器用户密码’, master_port=主数据库端口, master_log_file=‘主数据库的file’, master_log_pos=主数据库的position;

然后 start slave;

之后show slave status \G;

在打印出来的状态下,查看以下两个参数的值:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

如果这两个参数的值都是yes,则运行正常



不过这个发现主数据库重启之后,就会把file更新,这样主从复制就断了,不知道怎么解决

时间: 2024-10-26 02:42:32

mysql5.6主从复制的相关文章

mysql5.6 主从复制,详细配置

环境:Centos 6.5 mysql5.6 采用的是虚拟机环境 master ip:192.168.17.140 slaver ip:192.168.17.141 下面开始配置: master的配置: 1.注意下图的箭头: 2:重新启动mysql服务 shell: service mysqld restart 3.看下图: 命令如下: mysql -u root -p grant replication slave,replication client on *.* to 'root'@'19

MySQL5.6主从复制最佳实践

MySQL5.6     主从复制的配置 环境 操作系统:CentOS-6.6-x86_64 MySQL 版本:mysql-5.6.26.tar.gz 主节点 IP:192.168.31.57        主机名:edu-mysql-01 从节点 IP:192.168.31.59        主机名:edu-mysql-02 MySQL 主从复制官方文档 http://dev.mysql.com/doc/refman/5.6/en/replication.htm l MySQL 主从复制(也

mysql5.7主从复制--在线变更复制类型【转】

这里说一下关于如何在线变更复制类型(日志复制到全局事物复制),参考课程:mysql5.7复制实战 先决条件     (1)集群中所有的服务器版本均高于5.7.6(2)集群中所有的服务器gtid_mode都设置为off(使用 show variables like 'gtid_mode' 命令查看) 1:将基于日志的复制变更为基于事物的复制处理步骤     (1) 设置参数   gtid_mode在5.7版本有一下4个值   off:关闭   off_permissive:准备关闭   on_pe

Centos7下配置安装mysql5.5主从复制(一主两从)

1:安装mysql5.5数据库 规划: 主:server-1---10.64.5.167 从:server-2---10.64.5.170 从:server-3---10.64.5.172 数据目录:/var/lib/mysql 下载mysql5.5 #wget   http://cdn.mysql.com//Downloads/MySQL-5.5/MySQL-client-5.5.46-1.el7.x86_64.rpm #wget   http://cdn.mysql.com//Downloa

Mysql5.6主从复制-基于binlog

MySQL5.6开始主从复制有两种方式:基于日志(binlog):基于GTID(全局事务标示符). 此文章是基于日志方式的配置步骤 环境: master数据库IP:192.168.247.128slave数据库IP:192.168.247.130mysql版本:5.6.14 1.修改master配置文件并重启服务: [mysqld]server-id=11binlog-ignore-db=test #不记录binlogreplicate-ignore-db=test #不复制test库的binl

MySQL5.6 主从复制(基于GTID和多线程)

一:GTID工作流程图 二:什么是GTID 三:配置主从复制 四:说明 1.1 GTID工作流程图 2.1 什么是GTID GTID:是一个全局唯一标识,128位的随机符,并结合事务的ID号来组合成一个唯一的标识某一个主机上某一个事务的标识码 在binlog中,每一个事务的首部,都会写上GTID的标识,因此,GTID使得追踪和比较复制事务,变得非常简单,而且能够从奔溃中快速进行恢复 3.1主从配置以及参数说明 [Master] #数据目录位置 datadir = /MySQL_DATA   #端

MySQL5.6主从复制(读写分离)

MySQL主从复制(读写分离)和集群的区别: 1.主从复制(读写分离):一般需要两台及以上数据库服务器即可(一台用于写入数据,一台用于同步主的数据并用于数据查询操作).局限性:(1)配置好主从复制之后,同一张表,只能对一个服务器写操作.如果在从上执行了写操作,而之后主也操作了这张表,或导致主从不同步:据说可以配置成主主方式(2)主数据库服务器宕机,需要手动将业务系统切换到从数据库服务器.无法做到高可用性(除非再通过部署keepalive做成高可用方案).2.集群是由N台数据库服务器组成,数据的写

MySQL5.6主从复制(读写分离)教程

一.前言:为什么MySQL要做主从复制(读写分离)? 通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低. 为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻主数据库的负载. 而且如果主数据库宕机,可快速将业务系统切换到从数据库上,可避免数据丢失. 二.MySQL主从复制(读写分离)和集群的区别: 我对MySQL也是刚开始研究,不是很专业.我的理解是: 1.主从复制(读写分离):一般需要两台及以上数据库服务器即可(一台用于写入数据,一台用于同步主

MySQL5.0 与MySQL5.5 主从复制 常见问题处理方法

从5.0版本的数据库中打包数据到5.5版本中,然后做主从同步时遇到的问题及解决方案 以下操作在5.5版本的数据上执行 1.mysql当执行flush privileges刷新用户权限命令报出ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist这样测错误 CREATE TABLE `servers` ( `Server_name` char(64) NOT NULL, `Host` char(64) NOT NULL,`Db` char(6

Mysql5.7主从复制配置文档

安装的数据是mysql5.7社区版本yum安装,官网有下载地址 wget https://repo.mysql.com//mysql57-community-release-el7-10.noarch.rpm 注意事项: 防火墙,命令引号. 主服务器 [[email protected] opt]# egrep -v "^$|#" /etc/my.cnf 红色部分为添加 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysq