mysql 从库_mysql数据库主从配置

在一篇文章《离线安装mysql数据库》,讲解了离线安装mysql数据库的过程,本文将讲解mysql数据库的主从配置方法。mysql数据库进行主从配置后,可以实现数据库的备份、同时应用也可以实现读写分离,提高应用的并发量。

1、主从原理

从《高性能mysql》书中讲解主从原理大致有三个步骤:

在主库上把数据更改记录到二进制日志中(Binary Log)中,这些记录称为二进制日志事件。

从库通过IO线程将主库上的日志复制到自己的中继日志(Relay Log)中。

从库通过SQL线程读取中继日志中的事件,将其重放到自己数据上。

原理图为:

a92f84c812290352714f7853c3a4f85a.png

2、主从配置

演示的环境如下:

名称

IP

msyql-master(主库)

192.168.197.135

mysql-slave(从库)

192.168.197.136

首先在这两台服务器安装mysql数据库,安装方法参考《离线安装mysql数据库》。

(1)、配置主库

修改my.cnf文件,在[mysqld]加入下面的内容:

# 服务的唯一编号

server-id = 1

# 开启mysql binlog功能

log-bin = mysql-bin

# binlog记录内容的方式,记录被操作的每一行

binlog_format = ROW

# 减少记录日志的内容,只记录受影响的列

binlog_row_image = minimal

# 指定需要复制的数据库名为jgyw

binlog-do-db = jgyw

修改好配置文件,重启mysql服务

service mysqld restart

创建从库同步数据的账号

grant replication slave on *.* to 'jgyw'@'192.168.197.136' identified by 'jgyw@123';

flush privileges;

注意:上面这两个命令是在mysql的终端执行的。

查看主库的状态:

mysql的终端执行:

show master status\G;

返回的信息为:

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

File: mysql-bin.000002

Position: 2380

Binlog_Do_DB: jgyw

Binlog_Ignore_DB:

Executed_Gtid_Set:

1 row in set (0.00 sec)

(2)、配置从库

修改my.cnf文件,在[mysqld]加入下面的内容:

# 服务的唯一编号

server-id = 2

# 开启mysql binlog功能

log-bin = mysql-bin

# binlog记录内容的方式,记录被操作的每一行

binlog_format = ROW

# 减少记录日志的内容,只记录受影响的列

binlog_row_image = minimal

# 指定需要复制的数据库名为jgyw

replicate-do-db = jgyw

修改好配置文件,重启mysql服务

service mysqld restart

执行同步命令

mysql的终端执行:

# 设置主服务器ip,同步账号密码,同步位置

change master to master_host='192.168.197.135',master_user='jgyw',master_password='jgyw@123',master_log_file='mysql-bin.000002',master_log_pos=2380;

# 开启同步功能

start slave;

查看从库的状态

mysql的终端执行:

show slave status\G;

返回信息为:

0e2a1da04c8b7ad4c79dd5a68889760d.png

注意:Slave_IO_Running和Slave_SQL_Running的状态都为Yes时,说明从库配置成功。

3、测试

(1)、在主库上创建jgyw模式,即:

create schema jgyw;

(2)、在主库上的jgyw模式里面创建comm_config表,即:

use jgyw;

CREATE TABLE comm_config (configId varchar(200) NOT NULL ,configValue varchar(1024) DEFAULT NULL ,description varchar(2000) DEFAULT NULL ,PRIMARY KEY (configId)) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;

(3)、在主库上往comm_config表中插入一条记录,即:

insert into comm_config(configId, configValue, description) values('name', '架构与我', '测试一下');

(4)、在从库上查看模式,即:

show schemas;

结果为:

+--------------------+

| Database |

+--------------------+

| information_schema |

| jgyw |

| mysql |

| performance_schema |

| sys |

+--------------------+

5 rows in set (0.00 sec)

说明jgyw模式同步到从库了

(5)、在从库上查看jgyw模式下的表及数据,即:

use jgyw;

show tables;

结果为:

+----------------+

| Tables_in_jgyw |

+----------------+

| comm_config |

+----------------+

1 row in set (0.00 sec)

说明表也同步好了,再查看数据,即:

select * from comm_config;

结果为:

+----------+--------------+--------------+

| configId | configValue | description |

+----------+--------------+--------------+

| name | 架构与我 | 测试一下 |

+----------+--------------+--------------+

1 row in set (0.00 sec)

说明数据也同步过来了。

关注我

以你最方便的方式关注我:

微信公众号:

7963395251851e8a6fe313377aec3b62.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/369796.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习---html基础知识

HTML基本知识 学习html首先我们先看看HTML本质: web框架本质 我们在学socket,我们创建一个socketserver,然后运行起来,有一个client客户端要连接socket服务端,连接上之后,如果两边都没有close&#xff0…

前端:css

一,css介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。 二,CSS语法 1,每个CSS样式由两个组成部分:选择器…

爬虫框架:scrapy

阅读目录 一 背景知识二 同步、异步、回调机制三 高性能一 背景知识 爬虫的本质就是一个socket客户端与服务端的通信过程,如果我们有多个url待爬取,采用串行的方式执行,只能等待爬取一个结束后才能继续下一个,效率会非常低。 需要…

为Openshift + MongoDb应用程序编写验收测试

验收测试用于确定是否满足规范要求。 它应该在与生产环境尽可能相似的环境中运行。 因此,如果您的应用程序已部署到Openshift中,则您将需要一个与生产环境中使用的帐户平行的帐户,以运行测试。 在这篇文章中,我们将为部署到Opensh…

CSS 自适应布局

前言 本篇文章将介页面布局中的自适应布局,常见的自适应布局有以下2种:左列固定右列自适应、左右两列固定中间自适应。 1. 左列固定右列自适应布局方案 说明:左列固定右列自适应,也可以为右列固定左列自适应,常见于中…

mysql的表导出er关系图_使用Navicat生成ER关系图并导出的方法

平时管理数据库一般都是用cmd命令提示符,或是IDEA Intellij自带的Data source,使用Navicat比较少。这段时间,由于要对前后端交互的数据结构进行设计,直接写文档联系多表时有些困难,想着如果有关系图就直观很多。想到Na…

Scude导入MySQL_FM2017_FMF赛季更新和真实修正数据库[更新至9.9,超过89000个更新]

FM2017_FMF赛季更新和真实修正数据库[更新至9.9,超过89000个更新]FM2017_FMF赛季更新和真实修正数据库[更新至9.9,超过89000个更新](2)这是国外玩家制作的一款FM2017_FMF冬季更新和真实修正数据库,更新至9月9日,超过89000个更新内…

音视频和表单的详情

网页中的音视频 <audio> 和 <vedio> 标签属性&#xff1a;autoplay 自动播放 controls 控制播放 loop 循环播放 表单 HTML 表单用于收集用户输入。 标签<form> 标签属性 action 数据的路径 enctype 传输文件 enctype"multipart/form-data" method …

mysql otter 数据同步_MySQL数据同步之otter

一、otter介绍基于日志数据&#xff0c;用于MySQL或者ORACLE之间准实时同步数据。用途&#xff1a;mysql/oracle互相同步中间表/行记录同步二、原理及架构图otter整体模块manager (提供web页面进行同步管理)arbitrate (分布式调度&#xff0c;可跨IDC机房)node (同步过程setl)c…

ubuntu中获取文件名称并生成txt文件

简介&#xff1a; 在机器视觉学习过程中&#xff0c;通常会经常批量处理一些图片&#xff0c;在&#xff35;&#xff42;&#xff55;&#xff4e;&#xff54;&#xff55;下可以使用find命令&#xff0c;来实现将文件名全部读取出来&#xff0c;生成列表txt文件&#xff0c;…

HTMLCSS

HTML xml &#xff08;标签名&#xff09;可扩展标记语言 <Stu> </Stu> Html 超文本标记语言&#xff08;文本&#xff0c;图片&#xff0c;链接&#xff09; <> </> Internet网上编写页面&#xff08;H5版本&#xff1a;支持多种标签特性&…

java中i+=2什么意思_三分钟看懂Java中i++与++i的性能差别以及循环中如何使用

在Java中&#xff0c;自增是一种非常常见的操作&#xff0c;在自增中&#xff0c;有两种写法&#xff0c;一种是前缀自增(i)&#xff0c;一种是后缀自增(i)。这里主要简单介绍两种自增的差别。一、含义差别前缀自增和后缀自增是不同的。前缀自增(i)是从内存中加载i&#xff0c;…

动态规划:从新手到专家

作者&#xff1a;Hawstein出处&#xff1a;http://hawstein.com/posts/dp-novice-to-advanced.html前言 本文翻译自TopCoder上的一篇文章&#xff1a; Dynamic Programming: From novice to advanced &#xff0c;并非严格逐字逐句翻译&#xff0c;其中加入了自己的一些理解。水…

小程序 foreach_【第2106期】小程序依赖分析实践

前言这种可视化分析图还是很直观的&#xff0c;很有趣。今日早读文章由自然醒授权分享。正文从这开始~~用过 webpack 的同学肯定知道 webpack-bundle-analyzer &#xff0c;可以用来分析当前项目 js 文件的依赖关系。webpack-bundle-analyzer因为最近一直在做小程序业务&#x…

python----模块

collections---------------------------------------->扩展数据类型 re-------------------------------------------------->正则相关操作&#xff0c;正则 匹配字符串 time----------------------------------------------->时间相关 三种格式&#xff1a;时间戳&…

css渲染(二) 文本

一、文本样式 首行缩进  text-indent 首行缩进是将段落的第一行缩进&#xff0c;这是常用的文本格式化效果。一般地&#xff0c;中文写作时开头空两格。[注意]该属性可以为负值&#xff1b;应用于: 块级元素(包括block和inline-block)  <div><p style"text-in…

28岁学python转行_28岁转行程序员,学Java还是Python?码农:想快点月薪过万就选它...

为什么要学Java&#xff1f;Python给人的印象简单是因为我们在用Python的时候&#xff0c;可以直接调用别人已经写好的代码接口就可以&#xff0c;相对于傻瓜模式&#xff0c;Java的许多处理都要原生很多&#xff0c;写的代码可能会多一些&#xff0c;但一旦完成封装&#xff0…

CSS布局(五) 网页布局方式

网页实质是块与块之间的位置&#xff0c;块挨着块&#xff0c;块嵌套块&#xff0c;块叠着块。 三种关系&#xff1a;相邻&#xff0c;嵌套&#xff0c;重叠。 下面介绍网页布局的常用几种方式 1.一列布局&#xff1a; 一般都是固定的宽高&#xff0c;设置margin : 0 auto来水…

变量声明declare,简单运算符运算,变量测试与内容替换

declare -/ 选项 变量名 - 设类型 取消类型 -i 设为整型 -x 设为环境变量 -p 显示类型属性&#xff08;property&#xff09; [rootlocalhost ~]# a1 [rootlocalhost ~]# declare -p a declare -- a"1" [rootlocalhost ~]# export a [rootlocalhost ~]# declare -p …

如何水平居中一个元素

在项目中经常会遇到居中问题&#xff0c;这里借鉴度娘的众多答案&#xff0c;做一个总结&#xff1a; 一、元素的水平居中 1、行级元素的水平居中 <div style"width: 200px;height: 100px;border: 1px solid cyan; text-align: center;"><span>行级元素…