百度云服务器中数据库删除后,怎么添加内容?

百度云服务器中数据库删除后,怎么添加内容?,第1张

百度云数据库如何连接
百度云数据库为开发者提供了分布式的关系型数据库存储服务。后端采用的是业界最为广泛使用的数据库之一:mysql,并且在前端提供与mysql完全一致的使用方式,使开发者进行应用迁移的代价几乎为零;同时,百度云数据库可以支持百万级别的后端数据库集群,并且多机房自动冗余备份,自动读写分离,开发者不需要关注后端机器及数据库的稳定性、网络问题、机房灾难、单库压力等各种风险,像连接本地mysql一样使用sql服务即可。百度云数据库还为开发者提供数据隔离,不同开发者的数据会存在于不同的数据库中而不会相互影响;为开发者提供安全性检查,对于恶意攻击性访问及时发现并拒绝,避免影响正常访问app的用户,为开发者节省访问带宽。
使用方式
一、创建
(1)登陆yunbaiducom
(2)点击“云数据库”进入数据库主界面
(3)点击“创建数据库”即可获取一个数据库
二、使用
通过平台phpmyadmin使用
直接点击数据库后面的 “phpmyadmin”即可进入phpmyadmin管理界面。
使用方法可以参考phpmyadmin官网介绍>从服务器设置为复制主服务器的数据后,它连接主服务器并等待更新过程。
如果主服务器失败,或者从服务器失去与主服务器之间的连接,从服务器保持定期尝试连 接,直到它能够继续帧听更新。由--master-connect-retry选项控制重试间隔。 默认为60秒。
每个从服务器跟踪复制时间。主服务器不知道有多少个从服务器或在某一时刻有哪些被更新了。

导读:Redis是被广泛使用的基础软件之一。对于工程师和,架构师,运维人员来说,了解Redis的高可用方案和背后的原理,是必备的基础知识。本文作者深入分析了Redis高可用的方方面面,并且做了有效总结,相信对广大读者可以起到很好的领路作用。

作者 codedump codedumpinfo 博主,多年从事互联网服务器后台开发工作。可访问作者博客阅读 codedump 更多文章。

Redis中为了实现高可用(High Availability,简称HA),采用了如下两个方式:

Redis中主从节点复制数据有全量复制和部分复制之分。

全量复制使用snyc命令来实现,其流程是:

旧版本全量复制功能,其最大的问题是从服务器断线重连时,即便在从服务器上已经有一部分数据了,也需要进行全量复制,这样做的效率很低,于是新版本的Redis在这部分做了改进。

新版本Redis使用psync命令来代替sync命令,该命令既可以实现完整全同步也可以实现部分同步。

执行复制的双方,主从服务器,分别会维护一个复制偏移量:

主服务器内部维护了一个固定长度的先进先出队列做为复制积压缓冲区,其默认大小为1MB。

在主服务器进行命令传播时,不仅会将写命令同步到从服务器,还会将写命令写入复制积压缓冲区。

每个Redis服务器,都有其运行ID,运行ID由服务器在启动时自动生成,主服务器会将自己的运行ID发送给从服务器,而从服务器会将主服务器的运行ID保存起来。

从服务器Redis断线重连之后进行同步时,就是根据运行ID来判断同步的进度:

有了前面的准备,下面开始分析psync命令的流程:

前面两种情况主服务器收到psync命令之后,会出现以下三种可能:

Redis使用哨兵机制来实现高可用(HA),其大概工作原理是:

以上将Redis节点分为两类:

以上是大体的流程,这个流程需要解决以下几个问题:

以下来逐个回答这些问题。

哨兵节点通过三个定时监控任务监控Redis数据节点的服务可用性。

每隔10秒,每个哨兵节点都会向主、从Redis数据节点发送info命令,获取新的拓扑结构信息。

Redis拓扑结构信息包括了:

这样,哨兵节点就能从info命令中自动获取到从节点信息,因此那些后续才加入的从节点信息不需要显式配置就能自动感知。

这一 *** 作实际上完成了两件事情: 发现新的哨兵节点:如果有新的哨兵节点加入,此时保存下来这个新哨兵节点的信息,后续与该哨兵节点建立连接。 交换主节点的状态信息,作为后续客观判断主节点下线的依据。

每隔1秒,每个哨兵节点向主、从数据节点以及其他sentinel节点发送ping命令做心跳探测,这个心跳探测是后续主观判断数据节点下线的依据。

上面三个监控任务中的第三个探测心跳任务,如果在配置的down-after-milliseconds之后没有收到有效回复,那么就认为该数据节点“主观下线(sdown)”。

为什么称为“主观下线”?因为在一个分布式系统中,有多个机器在一起联动工作,网络可能出现各种状况,仅凭一个节点的判断还不足以认为一个数据节点下线了,这就需要后面的“客观下线”。

当一个哨兵节点认为主节点主观下线时,该哨兵节点需要通过”sentinel is-master-down-by addr”命令向其他哨兵节点咨询该主节点是否下线了,如果有超过半数的哨兵节点都回答了下线,此时认为主节点“客观下线”。

当主节点客观下线时,需要选举出一个哨兵节点做为哨兵领导者,以完成后续选出新的主节点的工作。

这个选举的大体思路是:

可以看到,这个选举领导者的流程很像raft中选举leader的流程。

在剩下的Redis从节点中,按照以下顺序来选择新的主节点:

选择了新的主节点之后,还需要最后的流程让该节点成为新的主节点:

原文地址:

>

听说IT运维人员学的第一课就是“从删库到跑路”,虽然这是一句玩笑话,但是在一些不是很规范的IT企业,IT运维的很多 *** 作都是在线的,一不小心就会给企业的数据库带来灾难性的后果,万一没有备份,客户的数据都找不回来了,那么企业多半也就黄了,有的甚至还要向客户赔偿经济损失。所以IT企业运营有一个重要的环节就是备份,正规的企业都会有多种备份方式,比如异地备份、云端备份等。而且正规企业的IT运维人员不止一个,每个运维都有不同的权限。能够访问数据的运维一般都没有 *** 作备份数据的权限,为的就是避免一个运维“精神失常”,把数据和备份一锅端了。

而腾讯是IT企业中的龙头老大,规章制度和备份机制肯定是最完善的。所以如果微信被运维删库、跑路了,那么肯定会有其他运维第一时间顶替对方的工作,然后通过备份来恢复数据。这种情况下,微信可能会出现无法登陆、不能发消息、不能打开公众号、小程序等故障,持续的时间则由运维人员恢复数据的速度来决定。一般来说,只要保存数据的服务器没有遭受物理损坏,通过普通方式删除掉的数据基本上都是可以恢复,即使数据库完全被清空了,备份也没有了,也可以通过恢复硬盘的方式来找回数据。只不过速度有些慢而已。比如这次事件当中被删除的微盟就已经宣布:已经全面找回数据,并将于3月2日晚上10点到3月3日上午9点,正式进行恢复上线。

至于微信的用户数量上10亿,所以涉及到的数据和备份也达到了一个天量的数级,因此微信的数据库很有可能不是由一个运维人员来掌握的,而是分成几个甚至几百个部分,由不同的运维分开控制,每个运维的权限也不一样,互相不能访问。甚至每份数据都保存在不同的地点。这样一来,就算其中一个运维删库跑路了,影响到微信的可能也是数据库中的一个很小的部分,不会影响到整体。比如某一个用户数据库被删掉了,可能就只会导致十几万或者上百万的微信用户无法正常登陆,但其余大部分用户可能压根感觉不到有什么影响。

另外,微信的聊天数据并没有被保存在服务器上,而是保存在用户的手机里。所以就算微信被删库了,用户的聊天记录也不受影响,只要用户保证手机中的聊天记录不被删除就可以了。反过来如果手机中的聊天记录删除了,基本上就没有找回的方法了。总而言之,微信的数据肯定有一个严密、安全的保护方式,而且有非常稳妥有效的数据恢复方案。所以就算有运维把他所负责的微信数据库删除了,可能对微信整体也无法造成太大的影响。那种被运维删库后就找不回数据的情况,通常只会发生在不怎么规范的中小型企业身上。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13408007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-30
下一篇 2023-07-30

发表评论

登录后才能评论

评论列表(0条)

保存