MySQL(主从复制)

简述:主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的 业务数据库、事务处理库,从库做查询库。

复制过程简单的说就是 master 将数据库的改变写入二进制日志,slave同步这些二进制日志,并根据这些二进制日志行数据操作

一、什么是主从复制

主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库。在最常用的mysql数据库中,支持单向、异步复制。在复制过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器;此时主服务器会将更新信息写入到一个特定的二进制文件中。

并会维护文件的一个索引用来跟踪日志循环。这个日志可以记录并发送到从服务器的更新中去。当一台从服务器连接到主服务器时,从服务器会通知主服务器从服务器的日志文件中读取最后一次成功更新的位置。然后从服务器会接收从哪个时刻起发生的任何更新,然后锁住并等到主服务器通知新的更新。

二、主从复制的作用

  1. 是确保数据安全;做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据的丢失。
  2. 是提升I/O性能;随着日常生产中业务量越来越大,I/O访问频率越来越高,单机无法满足,此时做多库的存储,有效降低磁盘I/O访问的频率,提高了单个设备的I/O性能。
  3. 是读写分离,使数据库能支持更大的并发;在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。

三、配置MySQL主从复制

主库(master):

1.修改配置文件 vi /etc/my.cnf

[mysqld]

#mysql 服务ID,保证整个集群环境中唯一,取值范围:1 – 232-1,默认为1
server-id=1
# 在作为从库的时候,有写入操作也需要更新二进制日志文件
log-slave-updates
binlog-ignore-db=mysql
# 开启二进制日志功能
log-bin=mall-mysql-bin
# 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
# 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
# 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7
# 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
# 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062

2.重启MySQL服务器

systemctl restart mysqld

3.登录mysql,创建远程连接的账号,并授予主从复制权限

CREATE USER 'slave1'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'%';

4.通过指令,查看二进制日志坐标

show master status;

字段含义说明:

file: 从哪个日志文件开始推送日志文件

position:从哪个位置开始推送日志

binlog_ignore_db: 指定不需要同步的数据库


从库(slave):

1.修改配置文件 vi /etc/my.cnf

[mysqld]

#mysql 服务ID,保证整个集群环境中唯一,取值范围:1 – 2^32-1,和主库不一样即可
server-id=2
# [可选] 启用中继日志
relay-log=mysql-relay
binlog-ignore-db=mysql
# 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用
log-bin=mall-mysql-slave1-bin
# 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
# 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
# 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7#
# 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
# 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062
# relay_log配置中继日志
relay_log=mall-mysql-relay-bin
# log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates=1
# slave设置为只读(具有super权限的用户除外)
read-only=1

2.重新启动MySQL服务

systemctl restart mysqld 

3.登录mysql,设置主库配置(主库先执行后,从库再继续)

stop slave;(停止同步操作)

change master to master_host='192.168.31.135',master_user='slave1',master_password='123456',master_port=3306, master_log_file='mall-mysql-bin.000001', master_log_pos=591,master_connect_retry=30;

master_host:主库的ip地址,master_user:主库用户名,master_password:主库密码,master_port:端口号,master_log_file:二进制日志坐标file,master_log_pos:二进制日志坐标position

reset slave;(重置同步操作)

start slave;(启动同步操作)

5.查看主从同步状态(在从库数据库中执行)

show slave status\G

出现如图所示,出现两个(yes)就代表MySQL主从复制配置好了!!(可以通过增删改查数据库验证一下)

在主库中创建数据库,如下图所示:

在从库中查看数据库,如下图所示:

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

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

相关文章

使用echars实现数据可视化

生活随笔 展翅飞翔之际 请下定决心不再回头 echars实现数据可视化 在搭建后台页面时,可能会遇到很多的表格,但有时表格所展现的数据并不能直观的体现出当前用户的宏观信息,所以就可以引入一个新的表格插件——echars 快速上手 - Handbook…

数据结构-二叉树(1)

1.树概念及结构 1.1树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 1.有一个特殊的结点&…

编程在现代社会中的重要性

文章目录 编程的重要性引言编程在现代社会中的重要性常见的编程应用场景结语 编程的重要性 引言 编程在现代社会中的重要性是不言而喻的,它可以让我们创造出各种有用的软件,解决各种复杂的问题,甚至改变世界。 编程在现代社会中的重要性 编…

160 相交链表

解题思路: \qquad 若两个链表a, b相交,则它们之间的区别就仅在于相交节点之前的部分(其实任意两个链表最终都会相交,最坏相交于NULL节点)。一开始的思路: \qquad\qquad\qquad 1、找到两个链表较长的那个&…

手势监听类GestureDetector Listener源码解析

手势监听类GestureDetector 前言一、GestureDetector是什么?二、Listener源码解析1.OnGestureListener2.OnDoubleTapListener3.OnContextClickListener4.SimpleOnGestureListener 总结 前言 在写自定义view的时候,涉及到了手势监听这块的知识&#xff0…

linux之下安装 nacos

1 下载地址 也可使用在线下载wget https://github.com/alibaba/nacos/releases/download/1.4.6/nacos-server-1.4.6.tar.gzTags alibaba/nacos GitHuban easy-to-use dynamic service discovery, configuration and service management platform for building cloud nativ…

priority_queue模拟实现

目录 仿函数 模拟实现 结果 大根堆 小根堆 完整代码 priority_queue.h test.c 仿函数 仿函数的通俗定义:仿函数(functor)又称为函数对象(function object)是一个能行使函数功能 的类。仿函数的语法几乎和我们…

数组题目:118. 杨辉三角 、 119. 杨辉三角 II 、661. 图片平滑器 、598. 范围求和 II 、 419. 甲板上的战舰

118. 杨辉三角 思路: 找规律,每一行的第一个元素和最后一个元素都是1,其中中间需要改变的数找对应的规律 比如第二行(从0开始)的2,是dp[1][0] dp[1][1]。类似的找出对应的规律 代码: clas…

2024年软考证书有什么作用?哪个科目比较好考?

1、软考证书可以帮助评职称,可聘任工程师职务,评上了职称对于升职加薪是有好处的。 2、在一些大城市有“积分落户”政策,有了相应的软考证书可以帮助落户申请加分,对于想要在大城市落户的朋友也是有帮助的。 软考的中级证书是很…

OSG编程指南<三>:利用Cmake+VS2019+OSG3.6.5编译osgVerse

目前osgearth的ralease版本和debugx64都已经编译过了并且自测可用,放到资源里osgearth下载,供需要的朋友下载参考。环境配置:win10VS2017OSG3.6.4OSGEarth2.10.2, 1、配置OSG环境 编译好osg,然后在系统变量中配置如下…

WordPress:构建强大的网站和博客的完美选择

WordPress:构建强大的网站和博客的完美选择 一、WordPress 简介1.1 WordPress 介绍1.2 WordPress 优势 二、部署LNMP环境2.1 前提条件2.2 关闭防火墙和SELinux2.3 安装Nginx2.4 安装MySQL2.5 安装PHP2.6 配置Nginx2.7 配置MySQL2.8 配置PHP2.9 测试访问LNMP平台 三、…

必应的下一个十年:穿越创新的奇点时刻

2023年是微软搜索引擎必应进入中国市场十周年,2024年也将迎来必应上市十五周年。对于风起云涌的互联网公司来说,十年到十五年是一个相当长的创新周期。而在2023年初,以GPT为代表的大语言模型横扫全球科技产业,也对互联网和云计算带…