mysql 从服务器同步设置_mysql主从同步配置

1.为什么要主从同步?

在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一。尤其是在大规模系统中,数据库集群已经成为必备的配置之一。集群的好处主要有:查询负载、数据库复制备份等。其中Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率。写操作涉及到锁的问题,不管是行锁还是表锁还是块锁,都是比较降低系统执行效率的事情。我们这样的分离是把写操作集中在一个节点上,而读操作其其他的N个节点上进行,从另一个方面有效的提高了读的效率,保证了系统的高可用性。

2.mysql主从同步

我的要同步的两台mysql数据库版本都是mysql5.7,两台电脑都在同一个网段之中。

①修改主数据库my.ini/my.cnf配置:

Server-id = 1  //这是数据库ID,此ID是唯一的,ID值不能重复,否则会同步出错;

log-bin = mysql-bin //开启binglog日志,二进制日志文件,此项为必填项,否则不能同步数据

binlog_format=mixed //二进制日志的格式,有三种:statement/row/mixed

binlog-do-db = testcreate  //需要同步的数据库,如果还需要同步另外的数据库,那么继续逐条添加,如果 不写,那么默认同步所有的数据库;

binlog-ignore-db = mysql //不需要同步的数据库;

修改完成之后重启mysql服务。

MySQL 服务重启

service mysqld restart

② 添加主数据库用于同步的账号:

给主数据库授权一个可以进行复制的用户,执行如下命令:

grant replication slave on *.* to 'slave'@'%' identified by '123456';

dbd5d5c5134bf682ecbb3a4236662448.png

③显示主数据库的同步信息:

c60557d5f7780f1f525ae29d45d0dd74.png

可以看出已经产生了二进制的日志文件信息,mysql的同步就是通过这个二进制日志文件进行同步,主数据库把对数据库的操作的指令都记录到该日志文件下,从数据库通过读取该文件,来对从数据库中的数据进行修改,从而达到主从同步的效果。

④配置从数据库的my.ini

从数据库的话只需要配置server-id,binlog-do-db,binlog-ignore-db即可。

⑤设置从数据库链接到主数据库

在mysql下执行stop slave;命令,停止slave服务;

mysql> change master to

-> master_host='192.168.1.189',

-> master_user='slave',

-> master_password='123456',

-> master_log_file='mysql-bin000014.000001',

-> master_port=3306,

-> master_log_pos=107;

注意:这里的master_log_file,master_log_pos的值要和master的值一致。否则会无法同步。

执行start slave;命令,启动服务。

注意:在这里可能会无法链接到主数据库,需要看主数据库中my.ini中bind 127.0.0.1是否没有被注释,如果没有,那么只能在本机登录,而不能使用远程登录方式。

⑥验证是否同步:

show slave status\G;

得到如下结果则说明同步成功。

ab429cf13f5693ae4dc9293ba58e6bce.png

Slave_IO_Running :从主服务器成功的bin-log日志同步并拿到数据

Slave_SQL_Running: 从服务器成功地执行SQL语句

上面两项均为yes,说明配置成功。

从服务器相关命令

start slave; //启动从服务器

stop slave; //停止从服务器

show slave status; //查看从服务器状态

show master logs; //查看主服务器 bin-log 日志

change master to …… //动态改变到主服务配置

show processlist; //查看从服务器运行进程

主从数据不一致

第一种方法

stop slave;set global sql_slave_skip_counter=1; //跳过一步错误

start slave;

第二种方法:

stop slave;

show master status;//查看主服务器bin-log日志

change master to…… //手动同步 ,指定日志文件和文件位置 master-log-file="mysql-bin.00001" master-log-pos=20

重启从服务器,查看 show slave status\G,Slave_IO_Running、Slave_SQL_Running 都为 YES,同步成功。

注意:第一次同步时需要主从库数据一样

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

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

相关文章

int、long、long long取值范围

short int 1个字节储存 unsigned short int 0~255short int -128~127 int 2个字节储存 unsigned int 0~4294967295 int 2147483648~2147483647 long 4个字节储存 unsigned long 0~4294967295long 21…

每天一个LINUX命令(pwd)

每天一个LINUX命令(pwd) 基本信息 pwd: /bin/pwd,显示当前路径的绝对路径 语法:pwd 应用程序位置 which pwd PWD作用 pwd --help或者man pwd PWD的使用 pwd 转载于:https://www.cnblogs.com/shanshanliu/p/6542403.html

leetcode69. x 的平方根(二分法)

实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 代码 class Solution {public int mySqrt(int x) {int l0,rx;while (…

一个swiper 两个分页器的写法【总结】

写项目的时候&#xff0c;使用的是swiper插件呈现的效果是一个swiper要实现两个分页器&#xff0c;下面就来总结一下 以swiper3为例来写&#xff0c;在页面中引入jquery、swiper.min.js和swiper.min.css文件。 HTML结构&#xff1a; <div class"banner swiper-containe…

react路由守卫+重定向_React + Apollo:如何在重新查询后进行重定向

react路由守卫重定向by Jun Hyuk Kim金俊赫 React Apollo&#xff1a;如何在重新查询后进行重定向 (React Apollo: How to Redirect after Refetching a Query) GraphQL is hot, and for a good reason. In short, it is a query language that allows you to ask for exact…

python 爬虫可视化编程_Python爬虫爬取博客实现可视化过程解析

源码&#xff1a;from pyecharts import Barimport reimport requestsnum0b[]for i in range(1,11):linkhttps://www.cnblogs.com/echoDetected/default.html?pagestr(i)headers{user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko…

tp6常用命令

TP6常用命令 1.创建控制器 php think make:controller --plain index** (php think make:controller --plain 控制器名称&#xff08;首字母大写&#xff09;)2.创建模型 php think make:model 【模块名】/模型名 模型名为表名相当3.创建中间件 php think make:middleware 中…

Problem B: 字符类的封装

Description 先来个简单习题&#xff0c;练练手吧&#xff01;现在需要你来编写一个Character类&#xff0c;将char这一基本数据类型进行封装。该类中需要有如下成员函数&#xff1a; 1. 无参构造函数。 2. 构造函数Character(char)&#xff1a;用参数初始化数据成员。 3. void…

leetcode852. 山脉数组的峰顶索引(二分法)

我们把符合下列属性的数组 A 称作山脉&#xff1a; A.length > 3 存在 0 < i < A.length - 1 使得A[0] < A[1] < … A[i-1] < A[i] > A[i1] > … > A[A.length - 1] 给定一个确定为山脉的数组&#xff0c;返回任何满足 A[0] < A[1] < … A[i…

linux 一键安装lnmp

运行下面这天命令&#xff0c;回车 wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp 选择数据库版本&#xff0c;回车 设置MySQL的root密码&#xff08;为了安全不…

图标下载

个人认为非常好的一个网站&#xff1a; http://www.easyicon.net/

以太坊ipfs_动手:Infura和以太坊上的IPFS入门

以太坊ipfsby Niharika Singh由Niharika Singh 动手&#xff1a;Infura和以太坊上的IPFS入门 (Hands On: Get Started With Infura and the IPFS on Ethereum) 为什么选择Infura&#xff1f; (Why Infura?) There are a lot of pain points being faced by blockchain which …

suse required-start: mysql_suse linux 安装MySql步骤

今天下午终于把mysql搞定了&#xff0c;我安装的这个linux版本(suselinux10.0)自己带的有Mysql&#xff0c;但是&#xff0c;在网上查的版本要比这高&#xff0c;所以就上网找了一个然后自己装&#xff0c;但是从来没有接触过MySql也不知道该怎么装&#xff0c;于是就上网找&am…

PHP上传文件到七牛云和阿里云

七牛云上传 注册七牛云账号并认证 进入控制台找到对象存储添加一个新的仓库 添加完成之后看文档 安装 使用 Composer 安装 Composer是 PHP 依赖管理工具。你可以在自己的项目中声明所依赖的外部工具库&#xff0c;Composer 会自动帮你安装这些依赖的库文件。    1. 安装…

变态青蛙跳

2019独角兽企业重金招聘Python工程师标准>>> 题目描述 一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 相比普通青蛙跳&#xff0c;这个 n级的就有点难了&#xff0c;重点是 能跳n级&…

中间的数(若已经排好序)

描述&#xff1a; 奇数个&#xff0c;输出中间那个 偶数个&#xff0c;输出中间那俩 代码&#xff1a; #include<iostream>using namespace std;int main(){ int *a; int n; cin>>n; anew int[n]; for(int i0; i<n; i) cin>>a[i]; …

leetcode1237. 找出给定方程的正整数解(二分法)

给出一个函数 f(x, y) 和一个目标结果 z&#xff0c;请你计算方程 f(x,y) z 所有可能的正整数 数对 x 和 y。 给定函数是严格单调的&#xff0c;也就是说&#xff1a; f(x, y) < f(x 1, y) f(x, y) < f(x, y 1) 函数接口定义如下&#xff1a; interface CustomFunc…

数据库 测试数据生成_我们的测试数据生成器如何使假数据看起来真实

数据库 测试数据生成by Tom Winter汤姆温特(Tom Winter) 我们的测试数据生成器如何使假数据看起来真实 (How our test data generator makes fake data look real) We recently released DataFairy, a free tool that generates test data. But first, let me tell you the st…

tp框架生命周期

1、入口文件 用户发起的请求都会经过应用的入口文件&#xff0c;通常是 public/index.php文件。当然&#xff0c;你也可以更改或者增加新的入口文件。 通常入口文件的代码都比较简单&#xff0c;一个普通的入口文件代码如下&#xff1a; // 应用入口文件 // 定义项目路径 d…

django 创建mysql失败_创建表时出现Django MySQL错误

我正在用MySQL数据库构建一个django应用程序。当我第一次运行“python manage.py migrate”时&#xff0c;一些表创建得很好&#xff0c;然后出现一些错误。出现的错误是&#xff1a;django.db.utils.IntegrityError: (1215, Cannot add foreign keyconstraint)当我运行这个MyS…