首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Docker构建安全的虚拟空间

所以打算把我自己的 vps 分成虚拟空间给大家用。但是一般的虚拟空间安全性难以得到保证,一个空间出问题,其他的用户可能都跟着遭殃,也就是旁站攻击。...而数据库则可以单独构建一个 mysql 容器,为每个用户分配一个 user&database,让用户空间容器来远程连接。...网络: 要让虚拟空间的容器能够远程连接数据库,首先要使容器之间在一个网段,那么我们就需要设置一个桥接模式的 docker network,我这里使用 172.22.0.0/16 这个网段。...那么对应的 shell 脚本就是: #/home/ubuntu/rooms/ 即你的vps上用来存放用户文件夹的位置 # $1 参数为要设置的用户名,也是虚拟空间容器&数据库用户&数据库&用户文件夹的名字...新建数据库用户&数据库,并为用户赋权 这部分操作比较简单,我们就只需要为用户新建一个 MySQL 账户一个专属数据库就好了。

3.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

linux进程虚拟空间布局

首先看linux进程在32位处理器下的虚拟空间内存布局,以i386 32位机器为例                                  x86_32 32位处理器进程虚拟地址空间布局 每个用户进程的虚拟地址空间为...内核空间为0XC0000000—0xFFFFFFFF 1GB, 如果物理内存大于896MB,则内核的虚拟地址0xC0000000—0xF8000000 物理内存0—896MB对等映射。...英特尔64位处理器支持最大的线性地址是48位,也就是mmu从虚拟地址映射到物理地址只使用了48位,所以[48:63]位是扩展位,必须第47位值一样,否则会#GP(General Protection)...load_bias; end_data += load_bias; //设置堆空间 retval = set_brk(elf_bss, elf_brk); //确定代码段数据段栈...arch_get_unmapped_area_topdown; mm->unmap_area = arch_unmap_area_topdown; } } 再看确定栈指针的函数,栈分为向上增长向下增长

2.3K20

【Linux-14】进程地址空间&虚拟空间&页表——原理&知识点详解

1.页表基本概念 2.进程是如何“页表”进行联系? 3.每个进程都有页表,页表在“进程切换”如何跟踪 三.地址空间&页表的作用机理 1.地址空间&页表的基本原理 2....(即虚拟空间) 结论:进程地址空间并不是物理内存,而是 虚拟内存 的一部分(虚拟地址,不具备存储能力) 进程地址空间本质上是一种 抽象概念 ,用于描述进程如何看待使用内存。...进程地址空间通常被划分为几个部分,包括代码段、数据段、堆栈等,每个部分都有其特定的用途。...1.页表基本概念 引入:进程地址空间即虚拟地址,不具备存储能力 因此操作系统OS会对每个进程维护一张 映射表, 对应着虚拟地址物理地址 ,这就是 页表 页表是一种特殊的数据结构,它位于系统空间的页表区...2.进程是如何“页表”进行联系?

19110

数据库视图索引

虚拟视图并不在数据库中存储,但可对其进行查询,就好像它被存储在数据库中一样。查询处理器会在执行查询时用视图的定义来替换视图。 试图也可以被物化,即它们从数据库中定期的进行构造并存储。...VIEW AS ; 例如:有个关系如下: Movies(title, year, length, name, producer) 要在其上创建一个视图,包括2018年的电影片名年份...查询中可以同时使用视图基本表。...替换触发器 当一个视图上定义了触发器时,触发器会拦截任何试图对视图进行修改的操作,并且将替代它们执行任何数据库设计者认为合适的操作。...另一方面,为关系上的某个属性或者某个属性集上建立索引会使得对关系的插入、删除修改变得更加复杂费时。 通常,关系上最有用的索引是其键上的索引,原因有两个: 在查询中为主键指定值是普遍的。

1.3K20

数据库事务

consistency 一致性 A给B转账 A转了1000  B只到了500  I isolation 隔离性 多个事务并发访问,事务之间是隔离的 D durabiliy 持久性 事务一旦提交,持久化保存在数据库...不可重复读重点在于 update delete , 幻读的重点在于 insert 。...from t1 where id=1; 验证read committed 验证repeatable read 验证serializable 锁 计算机协调多个进程或者线程并发访问某一资源的机制 数据库上操作可以归纳读写...同时读不会有冲突,同时写或者同时读写才可能产生冲突 不同的存储引擎支持不同的锁机制 MyISAMMEMORY存储引擎采用表级锁 BDB存储引擎采用页面锁,也支持表锁 InnoDB存储引擎默认采用的是行级锁...,会出现死锁,锁定粒度介于表级锁行级锁之间,并发度一般 死锁  相互等待对方持有的锁 锁定粒度:锁定对象的大小   表 页  行 锁冲突  等待别人释放锁 MyISAM锁 在用户读数据自动加read

50520

数据库事务索引

事务的性质:   原子性:同一个事务中的所有操作要不然全部成功要不然全部失败   一致性:一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,,也就是说一个事务执行之前执行之后都必须处于一致性状态...隔离性:隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。  ...不可重复读:不可重复读是指在对于数据库中的某个数据,一个事务范围内多次查询却返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了。   ...,原理是将表中建立索引列的数据独立出来用特殊的数据结构存储,(如B-Tree,Hash),数据库实现通常使用B树B+树    索引相当于字典的目录,可以通过查找目录来得到我们所需要的数据所在的位置,而不需要翻整本字典...(比如字典的按照拼音查询    逻辑顺序物理顺序一致),一个表中只能有一个聚集索引       6. 非聚集索引 :  该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。

55300

数据库备份恢复

实例恢复的过程 前滚rolling forward 读取状态为currentactive状态的日志(redo log),将发生crash时,没有来得及写磁盘的数据块,使用redo信息来恢复。...文件太新(比如,其它所有的文件都是从备份中恢复过来的) 数据损坏时基本都要进行介质恢复 Oracle的备份方式 Rman(物理备份)–Recovery Manager 备份还原数据库文件、归档日志控制文件...备份自动 故障恢复时间非常短 缺点限制 需要数据库归档(OLAP类型的数据库不适宜归档) 对于海量数据不合适 Oracle的闪回技术–flashback 数据库的闪回 默认数据库的闪回是关闭的。...purge; 关于回收站的资料如下: http://www.jb51.net/article/34733.htm DML操作的闪回 事务的闪回 版本的闪回 上面三种闪回后面在进行补充 以下是关于归档模式非归档模式的知识...数据库已经打开。 SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。

2K30

对话教育专家:让教学在实体与虚拟空间中协同发挥作用

信息化智能化的浪潮之下,教育会呈现出怎样的新样态?如何打造面向未来的学校与课堂?7月18日,全国校长会联合腾讯教育举办的“科技,创造教育新未来”主题沙龙在深圳腾讯总部召开。...王水发表示,深圳要打造创新教育的标杆,智慧教育的样板,课程改革的先锋,教师发展的高地国际教育示范。 为加速教育目标的实现,深圳市教育局正从四个方面着手推进。...深圳明德实验学校校长鲁江围绕“公共危机事件后学校教育新生态的重建”发表看法,他认为,线上线下教学两种模式各有优劣,二者不可能相互取代,也不应该互相排斥。...“我们应该从未来教育的高度,以积极心态去探索一个线上与线下相结合的混合式教学新模式,让教学在实体空间与虚拟空间中协同发挥作用。”...在科技浪潮越演越烈的今天,学校教育的边界已经打开,教育无处不在、无时不在、无人不在。可以预见,科技与教育的共振还将给未来教育带来更多可能。

82730

关系型数据库非关系型数据库

如图: 事务B在两次查询中发现数据库结果不一样 幻读不可重复读的区别? 幻读重点是操作的新增或删除,不可重复读的重点是操作的修改。...当一张表中的字段更多时,可以尝试将大表拆分成多张子表,高频的主信息放入主表中,其他放入子表),分库(将一个数据库拆分成多个数据库,主数据库用于写入修改数据,其他的用于同步主数据并提供给客户端查询) (...因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则满足 AP 原则三 大类: CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。...适用于敏捷开发、日志系统社交系统等 MongoDB MongoDB 是由 C++ 语言编写的基于分布式文件存储的开源数据库系统。在高负载的情况下,能添加更多的节点,可以保证服务器性能。...需要创建大量的索引,因此也需要专门的全文搜索引擎及相关的数据库来实现 2.2.3 键值型数据库 键值型数据库通常被当作非持久化的内存型数据库缓存来使用,典型代表数据库是 Redis Memcached

30440

关系型数据库非关系型数据库

集合 --> 表 线型关系 -->约束 树形关系 -->索引(二叉树模型需哦延展的平衡二叉树) 图形关系 --> 数据库既包括了线型关系同事也包含了约束关系与依赖关系。...RDBMS(关系型数据库系统) HBASE(NOSQL --> not only sql) 非关系型数据库的优势:1....性能NOSQL是基于键值对的,可以想象成表中的主键值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。2. 可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。...关系型数据库的优势:1. 复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。2. 事务支持使得对于安全性能很高的数据访问要求得以实现。...对于这两类数据库,对方的优势就是自己的弱势,反之亦然。

4K50

数据库普通数据库有何不同?

数据库普通数据库有何不同,数据库的概念已是耳熟能详,但云数据库可能还有很多人不甚了解,甚至未曾耳闻。...一、云数据库普通数据库的特点 1、云数据库的特点 它通过冗余存储故障转移技术,确保数据库一直在线并且稳定运行。而且,云数据库还支持弹性扩展按需付费等功能,非常灵活经济实惠。...总之,云数据库确保了你的数据一直可用,并且让你能够轻松地调整数据库的规模成本。 2、普通数据库的优点 有四个特性,确保你的数据一直保持一致、原子性、隔离性持久性。...二、云数据库普通数据库的缺点 1、云数据库的缺点 云数据库通过部署在计算环境中并采用虚拟化技术,极大地增强了数据库的存储能力,并具备高可扩展性、高可用性以及多租形式有效资源分发的特点。...然而,云数据库也面临着成本较高、对网络和服务稳定性依赖性较高,以及数据隐私安全性等缺点。 2、普通数据库的缺点 它在可扩展性方面有点弱,不太能应对处理大量数据的需求。

34020

oushudb-数据库角色权限-数据库角色

数据库角色从概念上与操作系统用户是完全无关的,在实际使用中把它们对应起来可能比较方便。...数据 库角色在整个数据库集群中是全局的,我么可以通过执行SQL 命令CREATE ROLE来创建一个角色,如 : CREATE ROLE name; 要删除一个现有角色,可以使用DROP ROLE命令:...为了方便,程序createuserdropuser 提供了对了这些 SQL 命令的封装。...为了能创建初始数据库系统,新建立的数据库总是包含一个预定义的”超级用户”角色, 通常这个角色名 叫gpadmin。 为了创建更多角色,你必须首先以这个初始用户角色连接。...每一个和数据库的连接都必须用一个角色身份进行,这个角色决定在该连接上的初始访问权限。 一个客 户端连接可以使用的角色集合是由客户认证设置决定的, 这个我们后续会讲到。

30210

数据库普通数据库的费用对比

数据库普通数据库哪种好?很多人都想要知道的问题,因为很多人不知道这两者之间有什么区别,或者说不知道这两者之间哪一种更好一些,更有优势一些。...云数据库普通数据库哪种好可以看一下这两者之间的综合对比,也就是说从数据库的安全性,可靠性,运维,以及资源利用扩容等方面做对比。...云数据库在系统安全性方面非常的好,可以防防DDoS攻击流量清洗,并且能够及时修复各种数据库安全漏洞,而普通数据库需要自行部署,并需要自行修复数据库安全漏洞,云数据库在部署扩容方面可以做到即时开通快速部署...所以从这些综合对比来看,云数据库要比普通数据库好很多。...云数据库普通数据库在费用方面也是不一样的,差距非常大,也难怪现在云数据库会越来越受欢迎了,拥有这么多的优势,自然要比普通数据库更受欢迎一些。

1.9K30

数据库ORMS:使用SQLAlchemy与数据库通信

使用SQLAlchemy与SQL数据库通信 2.1 创建表 2.2 连接数据库 2.3 insert、select 2.4 update、delete 2.5 relationships 2.6 用Alembic...进行数据库迁移 learn from 《Building Data Science Applications with FastAPI》 1....pip install alembic 终端输入: alembic init alembic 初始化迁移环境,其中包括一组文件目录,Alembic将在其中存储其配置迁移文件,需要一起提交 git...alembic revision --autogenerate -m "Initial migration" 之后会生成一个py文件 该代码内有两个函数:upgrade,downgrade用于数据迁移回滚...# 升级 alembic upgrade head 数据的迁移升级之前请做好备份测试,防止丢失损坏 https://alembic.sqlalchemy.org/en/latest/index.html

1K20
领券