首页 > 数据库 >MySQL5.7主从复制教程

MySQL5.7主从复制教程

时间:2023-03-07 19:25:35浏览次数:63  
标签:opt 教程 slave MySQL5.7 mysql 主从复制 MySQL 数据库 software

 MySQL5.7主从复制教程

 

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

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

1、什么是主从复制

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

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

2、主从复制的作用

  1. 是确保数据安全;做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据的丢失。

  2. 是提升I/O性能;随着日常生产中业务量越来越大,I/O访问频率越来越高,单机无法满足,此时做多库的存储,有效降低磁盘I/O访问的频率,提高了单个设备的I/O性能。

  3. 是读写分离,使数据库能支持更大的并发;在报表中尤其重要。由于部分报表sql语句非常的慢,导致锁表,影响前台服务。如果前台使用master,报表使用slave,那么报表sql将不会造成前台锁,保证了前台速度。

3、主从复制的原理三步曲进行:

主数据库有个bin log二进制文件,记录了所有增删改SQL语句。(binlog线程)

从数据库把主数据库的bin log文件的SQL语句复制到自己的中继日志relay log(io线程)

从数据库的relay log重做日志文件,再执行一次这些sql语句。(sql执行线程)

一、环境描述

服务器优化注意事项

Ⅰ、服务器的大磁盘必须挂载到/opt目录下,服务的目录以及数据都保存在/opt/software下

Ⅱ、磁盘挂载必须默认写入/etc/fstab

首先在两个服务器上创建两个数据库

操作系统IP地址数据库数据库版本
CentOS 7.9 1.0.0.11 MySQL主 5.7.38
CentOS 7.9 1.0.0.12 MySQL从 5.7.38
CentOS 7.9 1.0.0.13 MySQL从 5.7.38

二、Linux基础配置

# 查看服务器版本
cat /etc/redhat-release
# 查看服务器磁盘空间使用情况
df -h
# 新建文件夹package存放压缩包
mkdir /opt/package
# 新建文件夹software存放解压后的软件
mkdir /opt/software
# 新建文件夹存放项目
mkdir /opt/project
# 新建文件夹apr存放文件
mkdir /opt/software/apr
# 新建文件夹apr-util存放文件
mkdir /opt/software/apr-util

关闭防火墙

# 查看防火墙状态
firewall-cmd --state
# 关闭防火墙(重启服务器会开启)
systemctl stop firewalld.service
# 永久关闭防火墙
systemctl disable firewalld.service

关闭SELinux

# 关闭SELinux修改配置文件需要重启机器:
# 修改/etc/selinux/config 文件
vim /etc/selinux/config
将SELINUX=enforcing 改为:SELINUX=disabled
# 重启机器生效
reboot

配置IP、主机名映射

vim /etc/hosts
1.0.0.11 nwtest1
1.0.0.12 nwtest2
1.0.0.13 nwtest3

设置时间同步

# 联网
# 设置东八区时区为当前时区
rm -rf /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 手动同步下网络时间
ntpdate -u cn.pool.ntp.org
# 内网状态时间设置
# 查看当前系统时间
date
# 查看硬件时间
hwclock
# 修改当前系统时间
date -s "2023-1-1 8:08:08"
# 修改硬件时间
hwclock --set --date "2023-1-1 8:08:08"
# 同步系统时间和硬件时间
hwclock --hctosys
# 保存时钟
clock -w
# 重启机器生效
reboot

三、安装MySQL5.7.38

Master/Slave部署

标签:opt,教程,slave,MySQL5.7,mysql,主从复制,MySQL,数据库,software
From: https://www.cnblogs.com/sexintercourse/p/17189269.html

相关文章

  • Ubuntu18.04安装Docker完整教程
    1.更新软件源列表sudoaptupdate2.安装软件包依赖sudoaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-common3.在系统中添加Docker的......
  • Ubuntu安装docker详细教程
    1.安装sudoapt-getupdate&&sudoapt-getinstall-yapt-transport-httpsca-certificatescurlsoftware-properties-common&&curl-fsSLhttps://download.dock......
  • 【WPS JS教程】判断单元格是否为空值
    functionisUndefined(){ if(Sheets.Item("Sheet1").Range("A1").Value2==undefined){ Sheets.Item("Sheet1").Range("A2").Value2="A1是空值" }else{ Sheets.Item("......
  • 使用Mycat构建MySQL读写分离、主从复制、主从高可用
    数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。 从数据库的角度来说,对于大多数应用来说,从集中到分布,最基本的一个需求不是数据存......
  • Git-简要教程
    和github连接安装git。之后所有命令全在gitbash中运行生成keyssh-keygen-ted25519-C"[email protected]"会生成一个私有key和public的key2.在你的用......
  • C# 入门教程
    C#入门教程本文主要介绍C#入门教程,需要了解的(MicrosoftVisualStudio)VS安装配置,.Net框架(.NetFramework),创建运行C#程序代码的方法,以及相关示例代码。1、V......
  • Mysql 主从复制和 GTID 复制
    1、安装主Mysql优化命令创建数据和日志存储目录1)安装Mysql​root@centos05~]#tarzxfmysql-8.0.32-el7-x86_64.tar.gz-C/usr/src/[root@centos05~]#mv/usr/src/m......
  • DECIMAL 使用教程
    数字运算在数据库中是很常见的需求,例如计算数量、重量、价格等,为了满足各种需求,数据库系统通常支持精准的数据类型和近似的数据类型。在金融领域中,对数据的计算精度要求极高......
  • 更改windows桌面路径的教程
    第一步:键盘上按住"win+E"打开文件资源管理器,然后快速访问的桌面,点击“属性”。第二步:默认桌面在用户名下的Desktop文件夹,比如:C:\Users\ataola\Desktop,在注册表的路径为......
  • Linux下nano编辑器使用教程
    使用LinuxVPS会经常和编辑器打交道,一般常用的是vi和nano,虽然vi功能强大,但是相对新手来要稍微难上手,GNUnano是一个体积小巧而功能强大的文本编辑器。这里就简单说一下nan......