什么要进行数据库的主从同步?

防止单点故障造成的数据丢失

主从复制的原理

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数据库的主从同步的更多相关文章

  1. mysql数据库的主从同步,实现读写分离 g

    https://blog.csdn.net/qq_15092079/article/details/81672920 前言 1 分别在两台centos 7系统上安装mysql 5.7 2 master ...

  2. MySQL数据库的主从同步复制配置

    一.主从同步机制原理 MYSQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态), ...

  3. mysql数据库的主从同步,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别 ...

  4. MySQL数据库的主从同步实现及应用

    >>主从同步机制及应用 读写分离(Read/Write Splitting)让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELETE),从数据库处理SELECT查询操作 ...

  5. MySQL Replication 详解MySQL数据库设置主从同步的方法

    MySQL同步的流程大致如下:  1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log). 2.从服务器(slave)的IO线程从主服务器(binl ...

  6. Zabbix检测Mysql数据库的主从同步

    在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成检测网站正常运行的重要环节 ...

  7. mysql数据库配置主从同步

    MySQL主从同步的作用 .可以作为一种备份机制,相当于热备份 .可以用来做读写分离,均衡数据库负载 MySQL主从同步的步骤 一.准备操作 .主从数据库版本一致,建议版本5.5以上 .主从数据库数据 ...

  8. MySQL数据库设置主从同步

    MySQL主从同步的机制: MySQL同步的流程大致如下: 1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log). 2.从服务器(slave)的I ...

  9. mysql 数据库的主从同步

    1.复制准备 操作系统 centOS 主库(mysql master):  ip为123.56.94.1   port为3306  mysql 版本 5.7.16 从库(mysql slave):   ...

随机推荐

  1. opencv实践::对象的提取

    问题描述 真实案例,对图像中对象进行提取,获取这样对象,去掉其它干扰和非目标对象. 解决思路 二值分割 + 形态学处理 +横纵比计算 #include <opencv2/opencv.hpp&g ...

  2. 两分钟让你明白Go中如何继承

    最近在重构代码的时候,抽象了大量的接口.也使用这些抽象的接口做了很多伪继承的操作,极大的减少了代码冗余,同时也增加了代码的可读性. 然后随便搜了一下关于Go继承的文章,发现有的文章的代码量过多,并且代 ...

  3. MFC中如何分割CString类型的数据

    [才疏学浅,难免有纰漏,若有不正确的地方,欢迎指教] MFC中有一个库函数 Tokenize(); 函数原型:CStringT Tokenize( PCXSTR pszTokens , int& ...

  4. 面试必问的Synchronized知道这些就可以了

    Synchronized关键字算是Java的元老级锁了,一开始它撑起了Java的同步任务,其用法简单粗暴容易上手.但是有些与它相关的知识点还是需要我们开发者去深入掌握的.比如,我们都知道通过Synch ...

  5. ESP8266开发之旅 网络篇⑧ SmartConfig——一键配网

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  6. RPA UiPath 官网视频

    RPA  UiPath 官网视频相关学习 有一些官网的截图翻译,本来打算把考试题也整理出来,结果没整,另附官网视频 RPA的好处: 广泛的自动化:跨越越来越多的行业,RPA加速在银行和金融,保险,医疗 ...

  7. Shell进阶精品课程

    课程链接 Shell精品进阶教程:理解Shell的方方面面 课程目标 系统性的掌握shell相关知识,进阶shell脚本能力,对shell各方面了然于心 适用人群 具备shell基础但想深入.系统性掌 ...

  8. Java IO编程——字符流与字节流

    在java.io包里面File类是唯一 一个与文件本身有关的程序处理类,但是File只能够操作文件本身而不能够操作文件的内容,或者说在实际的开发之中IO操作的核心意义在于:输入与输出操作.而对于程序而 ...

  9. 谁说程序员不懂浪漫?用Python每天自动给女朋友免费发短信

    前言 之前发过一篇文章,用 Python 制作的给父母天气预报提醒的小工具天气变冷了,给父母制作一个天气提醒小助手,这篇文章我同步到博客上之后,有读者在评论区留言,对于部分微信没有网页版接口,导致无法 ...

  10. AssetBundle异步加载被中断的问题

    刘 刘泰言创建于 1 年前 在使用异步接口 yield return AssetBundle.ASyncLoad的时候,难免会想到:这个异步处理完之前如何Cancel掉这个任务?也就是一个AssetB ...