数据库

Windows下MongoDB设置用户、密码

血红的双手。 提交于 2020-03-20 23:02:06
在默认情况下,mongod是监听在127.0.0.1之上的,任何客户端都可以直接连接27017,且没有认证。 好处是,用户可以即时上手,不用担心被一堆配置弄的心烦意乱。 坏处是,公网服务器搭建MongoDB,那么所有人都可以直接访问并修改数据库数据了。 默认情况下,mongod也是没有管理员账户的。因此除非你 在admin数据库中使用db.createUser()命令添加了管理员帐号,且使用–auth参数启动mongod ,否则在数据库中任何人都可以无需认证执行所有命令。 一、创建所有数据库管理员用户: 1、管理员身份运行cmd.exe,先cd到Mongodb安装目录的bin目录, 输入命令mongo.exe,进入mongodb命令界面: 2、创建数据库test1 插入一条数据,然后用命令:show dbs 才能看到 可以看到test1。 3、进入admin数据库: 命令:use admin 4、创建管理账号: 首先看看mongodb内置角色: 1. 数据库用户角色:read、readWrite; 2. 数据库管理角色:dbAdmin、dbOwner、userAdmin; 3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 4. 备份恢复角色:backup、restore; 5. 所有数据库角色

数据库-并发访问带来的问题

安稳与你 提交于 2020-03-20 21:17:32
数据库是一个共享的数据资源。为了提高使用效率,数据库基本上都是多用户的,即允许多个用户并发地访问数据库中的数据,如飞机订票数据库系统、银行储蓄数据库系统等。在这样的系统中,同一时刻并行运行的事务可多达数百个。如果对这种并发访问不加以控制,就会破坏数据的一致性,出现丢失修改、脏读和不可重复读这些问题,如图20.1所示。 丢失修改 脏读 不可重复读 T1 T2 T1 T2 T1 T2 读A=16 读A=16 做A=A-4 写回A=12 读A=16 读A=16 读A=12 读A=16 做A=A-2 写回A=14 做A=A-3 写回A=13 撤销 读A=14 做A=A-1 写回A=15 (数据库中最后为15) (A恢复为16) (A为12,与数据库中的16不相同) 图20.1 并发访问带来的3个问题 一、丢失修改(lost update) 两个事务T1和T2读入同一个数据,并修改,T2提交的修改结果覆盖了T1提交的修改结果,导致T1的修改结果丢失。 例如,如图20.1所示,考虑飞机订票系统中的一个操作序列: 1) 甲售票点(T1事务)读出某航班的机票余额A,此时为16张。 2) 乙售票点(T2事务)读出同一航班的机票余额A,此时也为16张。 3) 甲售票点卖出3张机票,将机票余额A修改成13张,写回数据库。 4) 乙售票点卖出1张机票,将机票余额A修改成15张,写回数据库。 实际上甲

基于Web应用的性能分析及优化案例

百般思念 提交于 2020-03-20 21:15:07
3 月,跳不动了?>>> 一、 基于动态内容为主的网站优化案例 1.网站运行环境说明 硬件环境:1台IBM x3850服务器, 单个双核Xeon 3.0G CPU,2GB内存,3块72GB SCSI磁盘。 操作系统:CentOS5.4。 网站架构:Web应用是基于LAMP架构,所有服务都在一台服务器上部署。 2.性能问题现象及处理措施 现象描述 网站在上午10点左右和下午3点左右访问高峰时,网页无法打开,重启服务后,网站能在一段时间内能正常服务,但过一会又变得响应缓慢,最后网页彻底无法打开。 检查配置 首先检查系统资源状态,发现服务出现故障时系统负载极高,内存基本耗尽,接着检查Apache配置文件httpd.conf,发现“MaxClients”选项值被设置为2000,并且打开了Apache的KeepAlive特性。 处理措施 根据上面的检查,初步判断是Apache的”MaxClients“选项配置不当引起的,因为系统内存仅有2GB大小,而“MaxClients”选项被配置为2000,过多的用户访问进程耗尽了系统内存;然后,修改httpd.conf配置文件的“MaxClients”选项,将此值由2000降到1500;继续观察发现,网站还是频繁宕机,于是又将“MaxClients”选项值降到1024,观察一段时间发现,网站服务宕机时间间隔加长了,不像以前那么频繁,但是系统负载还是很高

数据库主体在该数据库中拥有架构,无法删除解决方法

本小妞迷上赌 提交于 2020-03-20 18:37:44
服务器数据库上建立了一个专属的管理员,因为测试想将其删除,但是总是提示该用户拥有架构不能删除,而且架构显示db_owner也不可更改,我用的是sqlserver2008。在SQL Server2000中删除数据库用户很简单,只要直接删除或者使用Drop User命令就可以了,但是SQL Server2008中直接操作是不行的,这是因为在SQL Server 2008中架构是作为实体对待的。所以要删除该用户,需要先删除该用户所拥有的架构或更改此架构的所有者。否则会提示”数据库主体在该数据库中拥有架构,无法删除。 搜索了一下知道每一个数据库用户对应于一个系统登陆帐号,并且每一个架构只能赋予一个用户。所以直接删除用户的架构是不可以的,然后我就新建一个登录名,并且在用户映射里面将db_owner架构付给他,然后就可以删除之前的用户了。 【完美世界 http://www.23cat.com/Contents_51864.html】 【戮仙 http://www.23cat.com/Book_51960.html】 来源: https://www.cnblogs.com/cxd4321/p/3997804.html

oracle之备份详解

て烟熏妆下的殇ゞ 提交于 2020-03-20 18:21:51
                     1 .冷备份 (执行冷备份前必须关闭数据库) 物理备份 (备份物理数据库文件)                      2. 热备份 (热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是:数据库运行在可归档日志模式。适用于24X7不间断运行的关键应用系统) 冷备份数据库的步骤 (1)关闭数据库; (2)备份所有相关的数据库文件:初始化参数文件、控制文件(可用select name from v$controlfile;列出所有控制文件)、数据文件(可用select name from v$datafile;列出所有数据文件)、Redo日志(可用select member from v$logfile;列出所有redo日志文件)、归档的Redo日志(可用select sequence#,first_time from v$loghist;列出所有归档redo日志文件的顺序号和产生时间)。 冷备份数据库的脚本文件coldbackup.bat 热备份数据库的前提条件:数据库运行在归档模式 Oracle数据库安装默认运行在非归档模式 从非归档模式转换为归档模式( (1)设置数据库自动归档 log_archive_start = true # 设置归档日志文件的目录,该目录必须事先已建立,并有大量可利用的空间 log_archive

开发数据库步骤

痞子三分冷 提交于 2020-03-20 17:22:22
开发步骤: 一数据库设计 1.需求分析 标识 实体 实体属性 实体关系 table 存取款业务表 业务 business bid 业务id(主键 自增) bname 业务名称 (非空约束) bcomment 业务描述 客户信息表 user uid客户id(主键 自增) uname 客户姓名 (非空) ucardnum 客户身份证号(唯一 非空) uphone 联系电话 (非空) uaddress 客户住址 账户信息表 account acardnum 卡号(主键 限定长度16位 ) apwd 密码 (六位 默认值) acurrency 币种 (默认) bid 存款类型 createday 开户日期(默认) openmoney 开户金额(默认) balance 余额(默认) lost 是否挂失 (默认) 交易信息表 book kid 交易流水 (主键 自增) acardnum 卡号 (外键) kday 交易日期 (默认) kmoney 交易金额 ktype 交易类型 kcomment 备注 三大范式改善 用户信息表 userInfo customerID用户卡号 cutomerName用户姓名 telephone 手机号 address 地址 银行卡信息 cardINfo cardID customerID tradeNum savingID 描述表的id opendate

高级性能测试与性能调优 2019

人盡茶涼 提交于 2020-03-20 14:58:22
课程大纲 性能测试理论 1.1 性能测试基本理论 1.2 性能测试基本概念 1.3 性能指标定义 1.4 性能测试需求 1.5 性能测试类型分析 性能测试流程 2.1 性能测试流程介绍 2.2 性能测试流程的输入输出 性能测试策略 3.1 性能测试目标 3.2 性能测试环境 3.3 性能测试范围 3.4 性能测试类型 3.5 性能测试场景 3.6 性能测试准入 3.7 性能测试准出 3.8 性能测试完成定义 3.9 性能测试风险分析和规避策略 性能测试计划 4.1 性能测试环境准备 4.2 性能测试人员准备 4.3 性能测试数据准备 4.4 性能测试脚本开发 4.5 性能测试场景配置 4.6 性能测试监控配置 4.7 性能测试执行 4.8 性能测试结果分析 4.9 性能测试调优 4.10 性能测试回归测试 4.11 性能测试报告 4.12 性能测试验收 性能测试团队及角色 5.1 性能测试团队人员配备 5.2 性能测试团队成员角色 5.3 性能测试团队成员职责 5.4 性能测试团队成员具备技能 性能测试脚本开发 6.1 LoadRunner性能测试脚本开发流程 6.2 选择测试协议 6.3 脚本录制或程序开发 6.4 脚本参数化 6.5 脚本关联 6.6 测试参数数据准备 6.7 单用户脚本回放 6.8 多用户脚本回放 6.9 回放结果检查 性能测试监控 7.1 系统层性能监控 7

重新整理AUTO_INCREMENT字段

时光怂恿深爱的人放手 提交于 2020-03-20 13:28:59
3 月,跳不动了?>>> 重新整理AUTO_INCREMENT字段 2016-01-21 Netkiller Netkiller 节选择《Netkiller MySQL 手札》 13.9. 重新整理AUTO_INCREMENT字段 AUTO_INCREMENT 并非按照我们意愿,顺序排列,经常会跳过一些数字,例如当插入失败的时候,再次插入会使用新的值。有时会造成浪费,我们可以使用下面SQL重新编排AUTO_INCREMENT序列。 SET @newid=0; UPDATE mytable SET id = (SELECT @newid:=@newid+ 1); 使用max()查看最大值,然后使用 alter修改起始位置。 select max(id) from mytable; ALTER TABLE mytable AUTO_INCREMENT = 1000; 注意外键,需要 ON UPDATE CASCADE 支持,否则无法更新。CONSTRAINT `FK_group_has_contact_contact` FOREIGN KEY (`contact_id`) REFERENCES `contact` (`id`) ON UPDATE CASCADE ON DELETE CASCADE, CREATE TABLE `contact` ( `id` INT(10)

Python数据库操作 Mysql数据库导入导出和授权#学习猿地

柔情痞子 提交于 2020-03-20 12:33:58
# Mysql数据库导入导出和授权 ### 数据导出 #### 1.数据库数据导出 ```shell # 不要进入mysql,然后输入以下命令 导出某个库中的数据 mysqldump -u root -p tlxy > ~/Desktop/code/tlxy.sql ``` 导出一个库中所有数据,会形成一个建表和添加语句组成的sql文件 之后可以用这个sql文件到别的库,或着本机中创建或回复这些数据 #### 2.将数据库中的表导出 ```shell # 不要进入mysql,然后输入以下命令 导出某个库中指定的表的数据 mysqldump -u root -p tlxy tts > ~/Desktop/code/tlxy-tts.sql ``` ### 数据导入 把导出的sql文件数据导入到mysql数据库中 ```shell # 在新的数据库中 导入备份的数据,导入导出的sql文件 mysql -u root -p ops < ./tlxy.sql # 把导出的表sql 导入数据库 mysql -u root -p ops < ./tlxy-tts.sql ``` ### 权限管理 > mysql中的root用户是数据库中权限最高的用户,千万不要用在项目中。 > > 可以给不同的用户,或者项目,创建不同的mysql用户,并适当的授权,完成数据库的相关操作 > >

Python如何操作数据库?Python基础教程,第十四讲,数据库支持

只谈情不闲聊 提交于 2020-03-20 12:30:36
3 月,跳不动了?>>> 本节课会对Python数据库编程接口进行讨论,和PHP等语言类似,有一套链接数据库的标准化方法,如果有其他语言操作数据库的基础,此次课程学起来会很简单,没有基础也不用担心,我会尽量直观的为大家讲明白数据库操作的流程。 学完此次课程,我能做什么? 学完此次课程,我们可以对数据库进行操作,完成基本的增删改查操作。 学习此次课程,需要多久? 15-20分钟 小知识: 学习之前,我们先了解一下目前主流的关系型数据库: 中小型公司首选Mysql,免费,开源,效率还不错,云平台提供完善的主从配置,集群配置,这些足矣满足日访问量千万级别的项目。 .net平台sqlServer使用的较多,我所在的企业是生产型企业,生产软件C#开发,数据库使用的sqlServer,性能优,需要付费,代码不开源。 Oracle数据库,大名鼎鼎,性能高,适合大型项目使用,安全性也是最好的。缺点是硬件要求高,价格昂贵,需要专门的DBA来维护,不是一般小型公司能承担的。 由于本人目前经历的大多数项目都使用的mysql,所以今天课程演示以Mysql为准。 安装模块 如果您使用的版本是2.x,可以使用MySQLDB。但是不支持python3.6,所以我们使用 pymysql 课程内容 安装方法: pip3 install pymysql 创建数据库,创建数据表 如何创建数据库和创建数据表