lnmp架构-mysql1

这篇具有很好参考价值的文章主要介绍了lnmp架构-mysql1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.MySQL数据库编译

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 make完之后是这样的lnmp架构-mysql1,架构,mysql,数据库

lnmp架构-mysql1,架构,mysql,数据库 lnmp架构-mysql1,架构,mysql,数据库

 mysql 初始化

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 所有这种默认不在系统环境中的路径里 就这样加

这样就可以直接调用 不用输入路径调用

2.初始化

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 重置密码

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

3.mysql主从复制

配置master

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

lnmp架构-mysql1,架构,mysql,数据库

配置slave

当master 端中还没有插入数据时

在server2 上配slave

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 此时master 还没进行任何增删改查动作

在 server2上

lnmp架构-mysql1,架构,mysql,数据库

测试

 在master 上

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

在server2 上会实现同步

lnmp架构-mysql1,架构,mysql,数据库

当master 端有数据的时候 怎么同步呢

在server1 上

lnmp架构-mysql1,架构,mysql,数据库

 在server2 上

lnmp架构-mysql1,架构,mysql,数据库

 在server3 上

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库lnmp架构-mysql1,架构,mysql,数据库

 在server1 master 上

注意:

生产环境中备份时需要锁表,保证备份前后的数据一致

mysql> FLUSH TABLES WITH READ LOCK;

备份后再解锁

mysql> UNLOCK TABLES;

注意:

mysqldump命令备份的数据文件,在还原时先DROP TABLE,需要合并数据时需要删除此语句

lnmp架构-mysql1,架构,mysql,数据库

 在server3 上

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 实现主从同步

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 测试

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 什么是mysql的主从复制?

MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。

mysql复制原理

原理:

(1)master服务器将数据的改变记录二进制binlog日志,当master上的数据发生改变时,则将其改变写入二进制日志中;

(2)slave服务器会在一定时间间隔内对master二进制日志进行探测其是否发生改变,如果发生改变,则开始一个I/OThread请求master二进制事件

(3)同时主节点为每个I/O线程启动一个dump线程,用于向其发送二进制事件,并保存至从节点本地的中继日志中,从节点将启动SQL线程从中继日志中读取二进制日志,在本地重放,使得其数据和主节点的保持一致,最后I/OThread和SQLThread将进入睡眠状态,等待下一次被唤醒。

也就是说:

  • 从库会生成两个线程,一个I/O线程,一个SQL线程;
  • I/O线程会去请求主库的binlog,并将得到的binlog写到本地的relay-log(中继日志)文件中;
  • 主库会生成一个log dump线程,用来给从库I/O线程传binlog;
  • SQL线程,会读取relay log文件中的日志,并解析成sql语句逐一执行

只有读的操作 远远多于写的操作 时 才会用一主多从

数据库的外部需要接入高可用负载均衡

这套传统的主从 缺陷: master 端Binlog是直接考给slave的 是异步操作  什么是异步 master 端更新完了之后 直接发给slave  master 不需要知道slave端是否接收到 这样就会导致比如master 端到slave端网络出现问题 意思就是 master可以成功运作  也把日志发给slave 但是由于网络的问题 这个数据没有真正发送给slave端 那么这时候master down掉之后  slave端开始接管的时候 数据就会丢失

在IO这边 有个内置的半同步模式 

lnmp架构-mysql1,架构,mysql,数据库

lnmp架构-mysql1,架构,mysql,数据库在IO这边 有个内置的半  gtid模式

master配置

lnmp架构-mysql1,架构,mysql,数据库

 slave配置

在server2上

首先停止slave

lnmp架构-mysql1,架构,mysql,数据库

重新配置+重新启动

lnmp架构-mysql1,架构,mysql,数据库

 其他节点以此内推

lnmp架构-mysql1,架构,mysql,数据库

在gtid模式下 当master 有问题的时候 就会挑离它id最近的slave 作为master 供给下面的slave 以此内推

异步方式  得知道接管的那个master 上的日志文件和那个号 这样很复杂   异步的 虽然很快 但是 无法保证无损()

通过设置gtid 大大降低复杂度 通过全局的方式 不用关心它的日志文件和binlog号  gtid 只关心它的下一跳是谁就行 就是 gtid next

半同步模式

首先解决IO

给master 端安装半同步模块

lnmp架构-mysql1,架构,mysql,数据库

 半同步参数写入配置文件,确保重启后依然生效  master 和salve都要设置

lnmp架构-mysql1,架构,mysql,数据库

 给slave端安装slave的半同步模块

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 需要重启IO线程,slave端的半同步才生效

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库

 半同步参数写入配置文件,确保重启后依然生效  master 和salve都要设置

lnmp架构-mysql1,架构,mysql,数据库

 测试

lnmp架构-mysql1,架构,mysql,数据库

 当停止所有slave节点的IO线程:

lnmp架构-mysql1,架构,mysql,数据库

 在master 端插入数据

lnmp架构-mysql1,架构,mysql,数据库

 所有slave节点再次启动IO线程,mysql会自动切回半同步模式

mysql> START SLAVE IO_THREAD;
Query OK, 0 rows affected (0.00 sec)

解决sql 线程的问题

并行复制 提高效率
默认slave节点sql单线程回放,会造成数据同步延时较高
slave节点添加以下参数

在salve端 不需要在master 端  因为sql 线程在 slave端

lnmp架构-mysql1,架构,mysql,数据库

 lnmp架构-mysql1,架构,mysql,数据库lnmp架构-mysql1,架构,mysql,数据库

延迟复制 如果在master端误操作 可以在slave端进行数据恢复
只需要停掉sql 线程
延迟只是延迟了sql  IO已经复制过来了  数据已经在中继日志里 已经保存起来了 只不过sql已经没有回放

lnmp架构-mysql1,架构,mysql,数据库文章来源地址https://www.toymoban.com/news/detail-692662.html

到了这里,关于lnmp架构-mysql1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL 数据库之 MMM 高可用架构构建

    1. 什么是 MMM   MMM(Master-Master replication manager for MySQL,MySQL 主主复制管理器)是一套支持双主故障切换和双主日常管理的脚本程序。MMM 使用 Perl 语言开发,主要从来监控和管理 MySQL Master-Master(双主)复制,虽然叫做双主复制,但是业务上同一时刻只允许一个主进行写入,

    2024年02月04日
    浏览(45)
  • 阿里云数据库PolarDB MySQL版倚天ARM架构详解

    阿里云云原生数据库PolarDB MySQL版推出倚天ARM架构,倚天ARM架构规格相比X86架构规格最高降价45%,PolarDB针对自研倚天芯片,从芯片到数据库内核全链路优化,助力企业降本增效。基于阿里云自研的倚天服务器,同时在数据库引擎层、OS层、芯片层进行了全路径优化,最高降价

    2024年02月10日
    浏览(42)
  • ARM CPU架构下Mysql数据库通过Sysbench压力测试

    写到最前        这段本想写到最后的,但是哥们为了多点粉丝把这个文章设置成了粉丝可见,所以在最前面这段我想谈一下我本人对当前国产信创要求以及ARM架构服务器的看法。         总的来说我对国产信创ARM服务器这条技术路线持绝对乐观的态度。首先从服务器CPU算力

    2024年02月03日
    浏览(49)
  • 使用Docker构建的MySQL主从架构:高可用性数据库解决方案

    MySQL主从架构,我们已经在vmware虚拟机上实践过了,接下来我们一起探讨在docker中如何使用MySQL主从架构。 🏠个人主页:我是沐风晓月 🧑个人简介:大家好,我是沐风晓月,阿里云社区博客专家😉😉 💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺

    2024年02月08日
    浏览(87)
  • spring boot shardingsphere mybatis-plus druid mysql 搭建mysql数据库读写分离架构

    ##关于window mysql主从搭建简单教程 传送门 window mysql5.7 搭建主从同步环境-CSDN博客 ##父pom.xml ##模块pom.xml ##yml配置 ##mapper.xml ##TestMapper ##TestService ##TestController ##浏览器访问 ##数据库

    2024年01月21日
    浏览(66)
  • 基于java Swing 和 mysql实现的飞机订票系统(源码+数据库+ppt+ER图+流程图+架构说明+论文+运行视频指导)

    本项目是一套基于java Swing 和 mysql实现的飞机订票系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、项目文档、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,确保可以运行! 技术栈:Jav

    2024年02月11日
    浏览(37)
  • 【数据库】详解数据库架构优化思路(两主架构、主从复制、冷热分离)

    对数据库架构进行优化是为了提高数据库系统的性能、可扩展性、稳定性和可维护性。MySQL官方说:单表2000万数据,性能就达到瓶颈了,为了保证查询效率需要让每张表的大小得到控制。 再来说,为什么要提高查询效率呢? 除了普通的用户查询操作,增、删、改操作都包含

    2024年02月11日
    浏览(41)
  • 【系统架构】第六章-数据库设计基础知识(数据库设计)

    软考-系统架构设计师知识点提炼-系统架构设计师教程(第2版) 第一章-绪论 第二章-计算机系统基础知识(一) 第二章-计算机系统基础知识(二) 第三章-信息系统基础知识 第四章-信息安全技术基础知识 第五章-软件工程基础知识(一) 第五章-软件工程基础知识(需求工

    2024年02月11日
    浏览(49)
  • 数据库架构演变过程

    🚀 ShardingSphere 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包