首页
学习
活动
专区
工具
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.4K20

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

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

    28910

    【Linux系统调用API】三、进程地址虚拟空间、fcntl函数、stat函数

    一、进程虚拟地址空间与文件描述符 首先我们看一下进程虚拟空间和文件描述符的示意图。 下面我们写一个程序来测试一下,一次性最多能打开的文件数量,来验证文件描述符的作用范围。...因为在开启一个进程的时候默认会打开标准输入输出标准错误这三个文件,所以我们实际打开的文件只有1023-3+1=1021个文件,那么总共打开的文件个数就是1024个。 二、fcntl函数 1....三、stat函数 1. inode节点与硬链接 通过上图可以看到,硬链接源文件引用的是同一个inode节点,并且在inode节点中有一条硬链接计数信息,每当inode被引用一次,这个硬链接计数就会加1...硬链接文件源文件的inode节点编号一样,说明它们引用的是同一个inode节点。 在上图中的目录项中,有一条信息是类型,如果当前是目录的话,可以继续进入下一级目录。...通过S_IFMT的与运算,就可以把标识文件类型的位保留下来(也就是前两个数017,第一个0表示8进制,后面17共四位 1 111 用来标识文件类型,那么S_IFMT用二进制表示就是1111后面加12个

    11110

    数据库视图索引

    虚拟视图并不在数据库中存储,但可对其进行查询,就好像它被存储在数据库中一样。查询处理器会在执行查询时用视图的定义来替换视图。 试图也可以被物化,即它们从数据库中定期的进行构造并存储。...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

    51520

    数据库事务索引

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

    57700

    数据库备份恢复

    实例恢复的过程 前滚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 例程已经关闭。

    2.1K30

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

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

    86430

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

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

    35040

    数据库管理:数据库的安装配置详解

    在现代IT运维中,数据库是信息系统的核心组件之一。如何正确地安装配置数据库,直接关系到系统的性能可靠性。...本文将详细介绍数据库的安装配置过程,以MySQL为例,带你从零开始构建一个高效的数据库管理系统。...一、准备工作在开始安装配置数据库之前,我们需要进行一些准备工作:选择数据库版本:根据项目需求选择合适的MySQL版本。通常情况下,使用最新的稳定版可以获得最佳的性能安全性。...登录MySQL:mysql -u root -p创建数据库用户:CREATE DATABASE mydb;CREATE USER 'myuser'@'localhost' IDENTIFIED BY...: 定期使用SHOW STATUSSHOW VARIABLES命令监控数据库的运行状态,调整配置以优化性能。

    6710

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

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

    4K50

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

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

    61820

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

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

    31910
    领券