数据库

关于python,Django框架数据库迁移无法迁移问题

三世轮回 提交于 2020-03-17 20:43:04
python Django web框架开发 Django数据迁移 创建表结构:python manage.py migrate Django模型变更:python manage.py makemigrations app名 创建表结构:python manage.py migrate app名 第一次数据迁移依次执行上述三条命令,即可实现数据的迁移,前提为已经建好数据库。 但是偶尔会遇到这种情况,当项目由于某些原因,开始设计时并未建立完整的数据库表,后期新加需求时需要添加若干张新表,但又不影响之前表里的数据,此时就会很麻烦 因为当第一次迁移数据库表时,已经生成了Django内置的一些表,如果再次迁移就会重复,导致迁移报错 此种情况,提出两种解决办法,可供参考 1 ,若无数据保留要求,可直接删除数据库表,重新迁移一次数据库(对数据没有要求) ***2,***若之前的表中又大量数据,则不能直接删除数据库表,此时可以在model.py中新加入表 然后进入migrations文件夹下,删除下图所示文件 重新通过python manage.py makemigrations app名 命令,使Django模型变更。 执行完这些操作之后,直接在数据库建立一张新表,设计表完全相同于model.py中的新增数据库表,这样就避免了Django数据迁移表冲突的问题。 来源: CSDN 作者:

解决:mybatis-generator-maven-plugin:1.3.2:generateAccess denied for user 'root'@'localhost'

时光怂恿深爱的人放手 提交于 2020-03-17 18:52:50
问题描述 Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate (default-cli) on project springboot_v2: Access denied for user ‘root’@‘localhost’ (using password: YES) Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate ( default-cli ) on project springboot_v2: Access denied for user 'root' @ 'localhost' ( using password: YES ) 可能原因 1、root用户没有权限访问该数据库并进行表的增删改查操作 解决方案 修改root用户在该数据库的权限,即添加相应权限 在navicat中新建查询执行以下代码 GRANT Alter , Alter Routine , Create , Create Routine , Create Temporary Tables , Create View , Delete , Drop ,

Maria数据库搭建及使用

一个人想着一个人 提交于 2020-03-17 18:52:31
1.数据库的介绍 1.什么是数据库 数据库就是个高级的表格软件 2.常见数据库 Mysql  Oracle  mongodb  db2  sqlite  sqlserver … 3.Mysql (属于 Oracle公司) 4.mariadb,是Mysql的一个重要分支。 2.mariadb的安装 dnf install mariadb-server.x86_64 -y 3.软件基本信息 mariadb.service        ##启动服务 3306             ##默认端口号 /etc/my.cnf          ##主配置文件 /var/lib/mysql         ##数据目录 4.数据库开启 systemctl enable --now mariadb 5.数据库的安全初始化 默认执行 mysql 命令可直接进入数据库进行操作,不安全 所以应: 1.关闭数据库开放端口 vim /etc/my.cnf systemctl restart mariadb netstatus -antlupe | grep mysql         此命令查询不到端口 2.执行安全初始化脚本 mysql_secure_installation [root@Mariadb ~]# mysql         ##默认不需要密码,初始化完毕后需要 ERROR 1045

Oracle数据库:事务问题

倾然丶 夕夏残阳落幕 提交于 2020-03-17 17:06:05
文章目录 1、事务 1.1、事务的开启 1.2、关闭事务 1、事务 ​ 事务是指作为单个逻辑工作单元执行的一组相关操作。这些操作 要么全都执行,要么全都不执行 。 使用事务是为了保证数据的安全有效 。 事务有一下四个特点:(ACID) 原子性(Atomic):一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。 一致性(Consistence):事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。 隔离性(Isolation):一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的, 并发执行的各个事务之间不能互相干扰 。 持久性(Durability):持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 当事务之间发生并发时有几个隔离级别: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zdWOsY9a-1584423625866)(Oracle笔记图片/1584400605944.png)] 丢失更新 :两个事务同时存储, 一个存储 100 , 一个存储 200,最终可能至存储了200 或者 100,那另一个的更新就没成功,即结果不为预想的 300 脏读 :事务 T1 更新了一行数据,还没有提交所做的修改

mongodb安装到使用(一)

≯℡__Kan透↙ 提交于 2020-03-17 14:45:12
1.安装mongodb sudo apt-get update # 先进行更新 sudo apt-get install -y mongodb # 安装mongodb 安装成功后,检查服务是否正常 sudo systemctl status mongodb 若有异常,结果中active会有显示,可以查阅资料解决问题 我们可以通过实际链接到数据库服务器并执行诊断命令来进一步验证 mogo --eval 'db.runCommand({ connectionStatus: 1 })' 会将当前数据库版本,服务器地址和端口及状态命令输出 状态查询,启,停,从起服务期命令和禁止开机自启或设置开机自启的命令如下 sudo systemctl status mongodb sudo systemctl start mongodb sudo systemctl stop mongodb sudo systemctl restart mongodb sudo systemctl disable mongodb sudo systemctl enable mongodb 2.连接数据库 mongodb://[username@password@]host1[:pprt1][,host2[:port2], ...[,hostN[:portN]]][/[database][?options]]

docker 下安装postgres数据库

六眼飞鱼酱① 提交于 2020-03-17 12:45:23
1.搜索postgres数据库 docker search postgres 查看到排名第一的是一个官方的镜像,有6000多个star 2. 下载 docker pull postgres 3. 查看,下载成功之后可以查看到postgres镜像 docker images 4.运行,启动一个实例 docker run --name postgresql -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres 这里使用的实例名称为postgresql, 数据库密码是postgres,用户名是默认的postgres, -p 5432:5432表示映射的端口号为5432,如果不设置端口号,下面通过工具登陆数据库将会出现问题, -d postgres表示创建了一个默认的数据postgres 5.查看实例是否运行 docker container ls 如果已经成功运行,能够通过该命令查看到运行的实例 6.访问测试 可以下载pgAdmin或其他可视化管理工具来登陆已安装的postgres数据库,查看是否运行正常 参考内容 https://hub.docker.com/_/postgres?tab=description 来源: CSDN 作者: happytaohaha 链接: https://blog.csdn.net

系统稳定性问题总结

让人想犯罪 __ 提交于 2020-03-17 12:34:17
1.重要接口 2.重要场景 3.压测方案 4.构造测试数据 5.去掉免登去模拟请求,压测自己的接口 6.评估压测 历史高峰值三倍 或预估流量三倍 7.执行压测,线上服务器 8.晚上10点以后 9.压测时关注 系统监控,业务监控,cpu,内存,容量上限 压到系统报警 10.整理压测报告 11.压测接口列表 rt,内存,cpu 12.提交审核前提前沟通,有没有问题 常见问题: 1.慢sql,sql包含业务逻辑,多表联合查询,索引不合理,使用like 统计可以用like,主业务不能用like,不用select *,只查单表 2.读写比高的用redis,秒杀分布式锁,不要用数据库,用redis 统计数据不用数据库实时查,用定时服务 3.内部服务调用用prc,不用http 4.静态资源 5.资源消耗到ecs,别消耗到数据库中,数据库扩容比较麻烦,ecs更容易扩容 6.http也是有连接池的 来源: https://www.cnblogs.com/liuqiyun/p/12509534.html

【svn】Cleanup failed to process the following paths和Failed to run the WC DB work queue错误解决

谁说胖子不能爱 提交于 2020-03-17 12:31:56
1. 错误现象 使用svn执行checkout过程中,由于某些异常操作或不规范的文件命名导致命令执行失败,并弹出提示cleanup。如下(出错时忘记截图保存,此处借用网友的一张图片): 但执行cleanup命令后,又弹出如下弹出(同样借用网友图片)导致svn无法使用。 2. 解决方案 2.1 下载sqlite3.exe 需要清空svn管理数据库中的错误记录,那么就需要数据库操作工具,sqlite3.exe是一个轻量级数据库的操作工具,通过命令执行数据库的增删改查操作。如果你已有类似数据库的管理工具,可以忽略此步骤。 下载路径: http://www.sqlite.org/download.html (Android开发者,可以直接在sdk/platform-tools目录下有现成的sqlite3.exe文件) 2.2 放置sqlite.exe 将sqlite3.exe放至.svn目录下,可以看到该目录下有wc.db文件,就是我们要操作的数据库文件。 2.3 执行SQL语句 1)运行cmd,并进入.svn目录 2)执行sql命令,清空wc.db下的work_queue和wc_lock两张表 sqlite3 /wc.db delete from work_queue; delete from wc_lock; 3)一般情况下,问题即可解决,再次执行svn的cleanup操作

说说DBA职责和目标

核能气质少年 提交于 2020-03-17 12:24:00
数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,他属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。 在大公司DBA通常分为高级DBA、中级DBA、初级DBA,他们的职责是不同的。 高级DBA:他们能够熟练阅读数据库方面的英文资料,并且都熟悉很多种操作平台下的几种大型数据库。他们知道各种不同数据库在不同环境下的优势和劣势,并能在数据库平台和数据库环境的选择方面做出决策。他们一般通晓系统架构和数据库设计,并能对数据库进行各种级别的优化。高级DBA一般都配有助手,他们更偏向做决策和计划。高级DBA往往在银行业、保险业、在线交易等对稳定性、安全性、性能都要求比较高的关键业务处理领域大显身手。 中级DBA:从业一年左右,熟悉某种操作系统环境下的数据库,比如window server 2008或者目前常用的Linux(Ubuntu、Debian、CentOS)。因为对中级DBA来讲,Windows NT和Unix是有很大差别的。中级DBA对SQL比较熟悉,他们自己购买了几本数据库方面的书籍,并深入钻研。中级DBA往往同时兼任数据库程序员,他们的工作对性能、稳定性、安全性的追求基本上不是很高,往往配合高级DBA做一些例行工作。 初级DBA: 初级DBA又称为DBBS

数据库常见面试题(非DBA方向)

南楼画角 提交于 2020-03-17 11:47:07
数据库面试题总结之一 1.什么是事务?以及四个特性 事务(Transaction)是并发控制的基本单位。 所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。 事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 ACID 原子性:要么执行,要么不执行,也就是不可再分,已经最小了。 隔离性:所有操作全部执行完以前其它会话不能看到过程。 一致性:事务前后,数据总额一致。 持久性:一旦事务提交,对数据的改变就是永久的 事物的语句: 1.开始事务:BEGIN TRANSACTION 2.提交事务:COMMIT TRANSACTION 3.回滚事务:ROLLBACK TRANSACTION 2.索引是什么?有哪些作用和优缺点 索引就一种特殊的查询表,数据库的搜索可以利用它加速对数据的检索。 它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。 索引可以是唯一的,创建索引允许指定单个列或者是多个列。 缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小 MySQL数据库几个基本的索引类型:普通索引、唯一索引、主键索引、全文索引 索引加快数据库的检索速度 索引降低了插入、删除、修改等维护任务的速度 唯一索引可以确保每一行数据的唯一性 通过使用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能