首页 > 编程知识 正文

数据库mysql基本语句,数据库主从复制的原理及作用

时间:2023-05-05 01:57:01 阅读:21646 作者:148

让我来介绍一下什么是主从复制。

主从复制用于创建与主数据库(称为从数据库)完全相同的数据库环境。 主数据库一般是准实时业务数据库。 支持单个异步赋值,就像mysql数据库一样。 赋值期间,一个服务用作主服务,另一个服务用作从服务。 主服务器将更新信息写入特定的二进制文件。 将维护文件索引以跟踪日志循环。 可以记录此日志并将其发送到来自服务器的更新。 当从属服务器连接到主服务器时,从属服务器会通知主服务器从服务器日志文件中读取上次成功更新的位置。 然后,服务将接收并锁定从哪个时间点发生的更新,并等待主服务通知新的更新。

接下来,我们来谈谈主从复制的结构

数据库具有记录所有sql语句的big-log二进制文件。 我们的目标是复制主数据库zrdls-log文件中的sql语句。 从数据的relay-log重做日志文件中再次执行这些sql语句即可。 具体来说,三个线程操作第一个。 biglog输出线程。 每当库连接到主库时,主库都会创建线程并从库中发送biglog内容。 从库开始复制时,将从库创建并处理两个线程。 来自库I/O线程。 从库中执行START SLAVE语句后,将从库中创建I/O线程,连接到主库,并要求主库将zrdlslog中的更新记录发送到库中。 从库I/O线程读取主库的zrdlslog,输出线程发送的更新,并将其复制到包含relay log文件的本地文件中。 第二,通过库的sql线程:从库创建sql线程,然后通过库I/O线程读取并执行写入relay log的更新时间。

主从副本的作用(好处或为什么主从) ) )。

可以创建数据热备盘,作为备份数据库,在主数据库服务器发生故障后,可以切换到继续从数据库进行工作,以避免数据丢失。 体系结构扩展。 如果业务增长,I/O访问频率过高,无法满足单个计算机的要求,则创建多库存储,降低磁盘I/O访问的覆盖率,提高单个计算机的I/O性能。 分离读写,使数据库支持更大的并发。 在报告中特别重要。 某些报告的sql语句非常慢,导致表被锁定并影响前台服务。 如果将master用于前台,而将slave用于报告,则报告sql不会引起前台锁定,并保证前台速度。

好处一:实现服务器负载均衡

服务器复制功能允许在主服务器和从服务器之间平衡负载。 也就是说,通过在主服务器和从服务器之间分割处理顾客询问的负荷,可以获得更好的顾客应对时间。 数据库管理员通常有两种想法。

一是在主服务器上只实现数据更新操作。 包括更新、删除和新建数据记录等工作。 我不关心数据的查询工作。 数据库管理员将所有查询数据的请求转发到从服务器。 这在一些APP应用中很有用。 也有类似基金净利润预测的APP应用。 那个数据的更新都由管理员更新。 也就是说,更新的用户很少。 查询的用户数非常多。 此时,可以设置专门更新数据的主服务。 同时设置负责查询用户信息的多个从服务器。 将数据更新和查询放在不同的服务器上,可以提高数据的安全性,同时缩短APP应用程序的响应时间,提高系统性能。

第二个任务是在主服务器上分割从属服务器和查询。 在这种想法中,主服务器不仅需要完成数据的更新、删除、插入等工作,还需要承担一部分查询工作。 如果是从服务器来的话,只负责数据的查询。 为了减轻主服务器上的负载,一些查询请求会自动发送到从属服务器。 当然,语句(如更改数据、插入数据和删除数据)将发送到主服务器以同步主服务器和从属服务器上的数据。

好处二:通过复制实现数据的异地备份

可以定期将数据从主服务复制到从服务。 这无疑是数据异地备份的首选。 传统的备份机制在本地备份数据。 此时,备份作业与数据库服务器在同一设备上运行,备份作业运行时会影响服务器的正常运行。 可能会显著降低服务器性能。 此外,在本地存储备份数据也不安全。

如硬盘因为电压等原因被损坏或者服务器被失窃,此时由于备份文件仍然存放在硬盘上,数据库管理员无法使用备份文件来恢复数据。这显然会给企业 带来比较大的损失。

 

而如果使用复制来实现对数据的备份,就可以在从服务器上对数据进行备份。此时不仅不会干扰主服务气的正常运行,而且在备份过程中主服务器可以继 续处理相关的更新作业。同时在数据复制的同时,也实现了对数据的异地备份。除非主服务器和从服务器的两块硬盘同时损坏了,否则的话数据库管理员就可以在最 短时间内恢复数据,减少企业的由此带来的损失。

 

好处三:提高数据库系统的可用性

数据库复制功能实现了主服务器与从服务器之间数据的同步,增加了数据库系统的可用性。当主服务器出现问题时,数据库管理员可以马上让从服务器作为主服务器,用来数据的更新与查询服务。然后回过头来再仔细的检查主服务器的问题。此时一般数据库管理员也会采用两种手段。

一是主服务器故障之后,虽然从服务器取代了主服务器的位置,但是对于主服务器可以采取的操作仍然做了一些限制。如仍然只能够进行数据的查询,而 不能够进行数据的更新、删除等操作。这主要是从数据的安全性考虑。如现在一些银行系统的升级,在升级的过程中,只能够查询余额而不能够取钱。这是同样的道理。

 

二是从服务器真正变成了主服务器。当从服务器切换为主服务器之后,其地位完全与原先的主服务器相同。此时可以实现对数据的查询、更新、删除等操 作。为此就需要做好数据的安全性工作。即数据的安全策略,要与原先的主服务器完全相同。否则的话,就可能会留下一定的安全隐患。

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。