MySQL数据库的主从同步
什么要进行数据库的主从同步?
防止单点故障造成的数据丢失
主从复制的原理
MySQL从数据库开启I/O线程,向主服务器发送请求数据同步(获取二进制日志)
MySQL数据库开启I/O线程回应从数据库
从数据库得到主的二进制日志,写入中继日志
从服务器开启SQL线程将日志内容执行,实现数据同步
环境准备
CentOS 7.4 操作系统
MySQL5.7 数据库
在VMware虚拟机中部署了两台操作系统
打开MySQL官网:https://www.mysql.com/

点击DOWNLOADS,进入以下页面

点击MySQL communityDownloads>>,进入下载页面

随后点击MySQL community Server,进入下载页面

默认情况下,会根据系统选择数据库,正如现在所看到的,数据库的最新版本是8.0.18,点击上面的小按钮
会转到其他版本

在这里我选择的是MySQL5.7版本


相关的下载文档在:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html

下载后,MySQL安装的是默认安装的是8.0.18的版本所以,我们要更改一下yum源:mysql-community.repo

我们把MySQL5.7版本的enable=0改为enable=1,把MySQL8.0版本的enable=1改为enable=0;然后:wq保存
然后运行 yum install -y mysql-community-server 就可以通过yum源安装了。
安装后,运行 yum list installed |grep mysql 查看是否安装完成
systemctl start mysql 运行mysql ,通过systemctl status mysql 查看mysql是否启动
通过更改mysql的配置文件 (/etc/my.cnf)更改root密码
在[mysql]下添加skip-grant-tables,这样重启MySQL之后,就可以以root用户无密码进入MySQL了
进入MySQL后,通过update修改mysql库下的user表中的authentication_string值
具体如下。

然后,root用户就可以以新设置的密码登录MySQL了(mysql须重启,并且把my.cnf配置文件恢复)
这就是第一步安装MySQL的全部过程
之后,我们要进行主从复制的配置
配置前,我们应该保证两台服务器的时间设置一致
通过ntp时间同步服务器设置
ntpdate 主服务器IP
主服务器配置
[mysqld]
log-bin=mysql-bin
log-slave-updates=true
server-id =
给从服务器授权


从服务器上配置
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index
server-id=
change master to master_host='192.168.94.145',master_user='myslave',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=1026;


这样主从同步就完成了
安装MySQL的shell简单脚本
#! /bin/bash
#action yum install mysql
read -p 'please the mysqlcase directory' dictory
installed=' https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm'
wget $installed -O $dictory
rpm -Uvh $dicrory/ mysql80-community-release-el7-.noarch.rpm
sed -i '28s/enabled=1/enabled=0/' /etc/yum.repos.d/mysql-community.repo
sed -i '21s/enabled=0/enabled=1/' /etc/yum.repos.d/mysql-community.repo
yum install -y mysql-community-server
sed -i '5a skip-grant-tables' /etc/my.cnf
systemctl start mysqld
mysql -u root -
MySQL数据库的主从同步的更多相关文章
- mysql数据库的主从同步,实现读写分离 g
https://blog.csdn.net/qq_15092079/article/details/81672920 前言 1 分别在两台centos 7系统上安装mysql 5.7 2 master ...
- MySQL数据库的主从同步复制配置
一.主从同步机制原理 MYSQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态), ...
- mysql数据库的主从同步,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别 ...
- MySQL数据库的主从同步实现及应用
>>主从同步机制及应用 读写分离(Read/Write Splitting)让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELETE),从数据库处理SELECT查询操作 ...
- MySQL Replication 详解MySQL数据库设置主从同步的方法
MySQL同步的流程大致如下: 1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log). 2.从服务器(slave)的IO线程从主服务器(binl ...
- Zabbix检测Mysql数据库的主从同步
在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成检测网站正常运行的重要环节 ...
- mysql数据库配置主从同步
MySQL主从同步的作用 .可以作为一种备份机制,相当于热备份 .可以用来做读写分离,均衡数据库负载 MySQL主从同步的步骤 一.准备操作 .主从数据库版本一致,建议版本5.5以上 .主从数据库数据 ...
- MySQL数据库设置主从同步
MySQL主从同步的机制: MySQL同步的流程大致如下: 1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log). 2.从服务器(slave)的I ...
- mysql 数据库的主从同步
1.复制准备 操作系统 centOS 主库(mysql master): ip为123.56.94.1 port为3306 mysql 版本 5.7.16 从库(mysql slave): ...
随机推荐
- opencv实践::直线检测
问题描述 寻找英语试卷填空题的下划线,这个对后期的切图与自动 识别都比较重要. 解决思路 方法: 通过图像形态学操作来寻找直线,霍夫获取位置信息与显示. #include <opencv2/op ...
- 11.Nginx架构进阶
1.如何将LNMP拆分为LNP+MySQL 1.备份172.16.1.7上的数据库信息 [root@web01 ~]# mysqldump -uroot -p'000000' --all-databa ...
- Sentinel Getting Started And Integration of Spring Cloud Alibaba Tutorials
原文链接:Sentinel Getting Started And Integration of Spring Cloud Alibaba Tutorials Sentinel Getting Sta ...
- 【原创】docker在Ubuntu下1小时快速学习
前言 由于工作原因,很多情况下需要快速学习新的知识,针对docker如果从头到尾看相关书籍学习会非常慢,所以整理了下docker的常用操作,只要跟着本文学习操作,一小时就能掌握docker大部最常用分 ...
- 百万年薪python之路 -- socket()模块的用法
socket()模块的用法: import socket socket.socket(socket_family,socket_type,protocal=0) socket_family 可以是 A ...
- python 读取文件夹中的文件内容
看thinking in java的时候发现有个题的答案不确定结果, 于是下载答案看下,结果是 这个样子的,这样要怎么才能找到相对应的答案?于是我就着手写了一个快速遍历的脚本(我这里只是单纯的找了出来 ...
- django-Views之request(二)
book/views.py def index(request): http_list = { '<h1>请求协议: <span style="color:red" ...
- JAVA基础知识注意事项
JAVA核心技术卷一 (第十版) 下面是需要注意的: 只有方法名和参数类型叫做方法的签名, 不同的返回类型值不能作为方法的签名.(4.6.1) 这是域与局部变量的主要不同点. 必须明确地初始化方法中的 ...
- SpringBoot配置文件之Yml语法
一 使用 YAML 而不是 Properties YAML是 JSON 的超集,因此,它是用于指定分层配置数据的便捷格式.只要 class 路径上有SnakeYAML library,SpringAp ...
- Mui 长按保存图片
必须先要 引入 mui.js,然后参考具体代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8 ...