• 5分钟快速了解数据库死锁产生的场景和解决方法

    2021-05-10 22:55:20

    前言加锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。任何事务都需要获得相应对象上的锁才能访问数据,读取数据的事务通常只需要获得读锁(共享锁),修改数据的事务需要获得写锁(排他锁)。当两个事务互相之间需要等待对方释放获得的资源时,如果系统不进行干预则会一直等待下去,也就是进入了死锁(deadlock)状态。以下内容适用于各种常见的数据库管理系统,包括 Oracle、MyS

  • 5分钟快速了解数据库死锁产生的场景和解决方法

    2021-05-10 22:55:20

    前言加锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。任何事务都需要获得相应对象上的锁才能访问数据,读取数据的事务通常只需要获得读锁(共享锁),修改数据的事务需要获得写锁(排他锁)。当两个事务互相之间需要等待对方释放获得的资源时,如果系统不进行干预则会一直等待下去,也就是进入了死锁(deadlock)状态。以下内容适用于各种常见的数据库管理系统,包括 Oracle、MyS

  • MySQL数字类型自增的坑

    2021-05-07 20:57:39

    在进行表结构设计时,数字类型是最为常见的类型之一,但要用好数字类型并不如想象得那么简单,比如:    怎么设计一个互联网海量并发业务的自增主键?用 INT 就够了?    怎么设计账户的余额?用 DECIMAL 类型就万无一失了吗?以上全错!数字类型看似简单,但在表结构架构设计中很容易出现上述“设计上思考不全面”的问题(特别是在海量并发的互联网场景下)数字类型整数类型MySQL 数据库支持 SQL

  • MySQL数字类型自增的坑

    2021-05-07 20:57:39

    在进行表结构设计时,数字类型是最为常见的类型之一,但要用好数字类型并不如想象得那么简单,比如:    怎么设计一个互联网海量并发业务的自增主键?用 INT 就够了?    怎么设计账户的余额?用 DECIMAL 类型就万无一失了吗?以上全错!数字类型看似简单,但在表结构架构设计中很容易出现上述“设计上思考不全面”的问题(特别是在海量并发的互联网场景下)数字类型整数类型MySQL 数据库支持 SQL

  • SpringBoot整合MongoDB实现文件上传下载删除

    2021-05-03 19:53:55

    本文主要内容    MongoDB基础操作命令示例练习    MongoDB居于GridFSTemplate的文件上传、下载、删除等操作(工作重点使用)    1. 基础命令创建的数据库名称:horse,创建的集合名称:blog# 创建数据库use horse# 删除当前数据库[horse]db.dropDatebase()# 查看所有数据库show dbs # 设置用户的角色和权限db.crea

  • SpringBoot整合MongoDB实现文件上传下载删除

    2021-05-03 19:53:55

    本文主要内容    MongoDB基础操作命令示例练习    MongoDB居于GridFSTemplate的文件上传、下载、删除等操作(工作重点使用)    1. 基础命令创建的数据库名称:horse,创建的集合名称:blog# 创建数据库use horse# 删除当前数据库[horse]db.dropDatebase()# 查看所有数据库show dbs # 设置用户的角色和权限db.crea

  • 解决Django transaction进行事务管理踩过的坑

    2021-04-24 17:53:27

    概要Transaction是django进行数据库原子性操作在python层面上的实现。简单来说, 被transaction.atomic()包裹的代码块只在代码块顺利完成后进行数据库层面的commit。实际开发当中,遇到了一些问题。1. transaction事务内不执行数据库的commit操作除非手动committransaction最基本的功能。代码场景:在事务当前启动celery异步任务,

  • 解决Django transaction进行事务管理踩过的坑

    2021-04-24 17:53:27

    概要Transaction是django进行数据库原子性操作在python层面上的实现。简单来说, 被transaction.atomic()包裹的代码块只在代码块顺利完成后进行数据库层面的commit。实际开发当中,遇到了一些问题。1. transaction事务内不执行数据库的commit操作除非手动committransaction最基本的功能。代码场景:在事务当前启动celery异步任务,

  • Java操作MongoDB数据库的示例代码

    2021-04-24 14:53:32

    mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。环境准备step1:创建工程 , 引入依赖<dependencies><dependency><groupId>org.mongodb</groupId><artifactId>mongodb‐driver</artifactId><version>3.6.3</version></depen

  • Java操作MongoDB数据库的示例代码

    2021-04-24 14:53:32

    mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。环境准备step1:创建工程 , 引入依赖<dependencies><dependency><groupId>org.mongodb</groupId><artifactId>mongodb‐driver</artifactId><version>3.6.3</version></depen

  • jdbc与druid连接池的使用详解

    2021-03-29 12:54:28

    使用jdbc实现对数据库的操作Ⅰ 获取数据库连接package org.example.utils;import java.sql.*;public class JavaDateConnection { /**  * 获取数据库连接  * @return Connection  */ public Connection getConn() { //project为数据库名  String url

  • jdbc与druid连接池的使用详解

    2021-03-29 12:54:28

    使用jdbc实现对数据库的操作Ⅰ 获取数据库连接package org.example.utils;import java.sql.*;public class JavaDateConnection { /**  * 获取数据库连接  * @return Connection  */ public Connection getConn() { //project为数据库名  String url

  • MySQL 权限控制详解

    2021-03-27 19:54:35

    mysql权限控制    作为一名DBA,想必大家对MySQL中的权限都不陌生,MySQL中对于权限的控制分为三个层面:  全局性的管理权限,作用于整个MySQL实例级别  数据库级别的权限,作用于某个指定的数据库上或者所有的数据库上  数据库对象级别的权限,作用于指定的数据库对象上(表、视图等)或 者所有的数据库对象上      这里,我们将mysql中的所有权限列出来,最后给出一个特殊的案例来

  • MySQL 权限控制详解

    2021-03-27 19:54:35

    mysql权限控制    作为一名DBA,想必大家对MySQL中的权限都不陌生,MySQL中对于权限的控制分为三个层面:  全局性的管理权限,作用于整个MySQL实例级别  数据库级别的权限,作用于某个指定的数据库上或者所有的数据库上  数据库对象级别的权限,作用于指定的数据库对象上(表、视图等)或 者所有的数据库对象上      这里,我们将mysql中的所有权限列出来,最后给出一个特殊的案例来

  • MySQL mysqladmin客户端的使用简介

    2021-03-27 19:54:21

    mysqladmin是MySQL官方提供的shell命令行工具,它的参数都需要在shell命令行里面执行,当我们使用mysqladmin的时候,必须指定两类参数,一类是连接参数,另外一类是命令参数,连接参数用来指定相应的连接信息,而命令参数用来指定命令信息,例如可以用来检查服务器的配置和当前状态、创建和删除数据库等。它的语法如下:mysqladmin [options] command

  • MySQL mysqladmin客户端的使用简介

    2021-03-27 19:54:21

    mysqladmin是MySQL官方提供的shell命令行工具,它的参数都需要在shell命令行里面执行,当我们使用mysqladmin的时候,必须指定两类参数,一类是连接参数,另外一类是命令参数,连接参数用来指定相应的连接信息,而命令参数用来指定命令信息,例如可以用来检查服务器的配置和当前状态、创建和删除数据库等。它的语法如下:mysqladmin [options] command

  • MongoDB 主分片(primary shard)相关总结

    2021-03-26 10:54:47

    01 主分片是什么?  分片集群中的每一个数据库都有一个主分片,这个主分片上保存了当前数据库中没有被分片的集合的数据,主分片(primary shard)和主节点(primary)之间没有任何关联。   主分片是由mongos选择出来的,选择的依据是每当创建新数据库的时候,mongos会从集群中选择包含数据最少的分片作为新数据库的主分片。具体的选择方式是:选择listDatabase命令返回的to

  • MongoDB 主分片(primary shard)相关总结

    2021-03-26 10:54:47

    01 主分片是什么?  分片集群中的每一个数据库都有一个主分片,这个主分片上保存了当前数据库中没有被分片的集合的数据,主分片(primary shard)和主节点(primary)之间没有任何关联。   主分片是由mongos选择出来的,选择的依据是每当创建新数据库的时候,mongos会从集群中选择包含数据最少的分片作为新数据库的主分片。具体的选择方式是:选择listDatabase命令返回的to

  • MongoDB 用户相关操作

    2021-03-26 10:54:26

    在我们第一次启动MongoDB的时候,仅仅是制定了data数据目录和log日志目录,并没有指定--auth选项,也就是并不需要认证。[root@VM-0-14-centos mongo_27017]# mongoMongoDB shell version v4.0.6connecting to: mongodb://127.0.0.1:27017/gssapiServiceName=mong

  • MongoDB 用户相关操作

    2021-03-26 10:54:26

    在我们第一次启动MongoDB的时候,仅仅是制定了data数据目录和log日志目录,并没有指定--auth选项,也就是并不需要认证。[root@VM-0-14-centos mongo_27017]# mongoMongoDB shell version v4.0.6connecting to: mongodb://127.0.0.1:27017/gssapiServiceName=mong

  • 解决JDBC连接Mysql长时间无动作连接失效的问题

    2021-03-24 11:54:27

    错误场景介绍做的有一个项目使用JDBC手动创建Connection实现了一个简单的自定义数据库连接池,用来支持Canal解析数据库Binlog指定业务库的插入修改SQL来进行数据库分表备份(按照月份)操作.但是发现当一个一段时间(较长)没有进行数据库操作时,连接都失效了,导致SQL执行失败失效提示为No operations allowed after connection closed查明原因经

  • 解决JDBC连接Mysql长时间无动作连接失效的问题

    2021-03-24 11:54:27

    错误场景介绍做的有一个项目使用JDBC手动创建Connection实现了一个简单的自定义数据库连接池,用来支持Canal解析数据库Binlog指定业务库的插入修改SQL来进行数据库分表备份(按照月份)操作.但是发现当一个一段时间(较长)没有进行数据库操作时,连接都失效了,导致SQL执行失败失效提示为No operations allowed after connection closed查明原因经

  • MySQL数据备份方法的选择与思考

    2021-03-23 15:54:23

    从事DBA的行业也有两年多了,在数据备份上无论是理论和实践上,都积累了一些经验,恰逢这两天又出现一些数据备份方面的问题,这里,我将之前遇到过的数据备份方法简单做个整理。       我们都知道,保障数据库的稳定、安全、高效运行,是DBA的工作职责所在。对于DBA来讲,要想实现数据安全,数据备份可能是至关重要的一个环节。       我曾经就遇到过一个案例,业务方误删数据引发故障,要求

  • MySQL数据备份方法的选择与思考

    2021-03-23 15:54:23

    从事DBA的行业也有两年多了,在数据备份上无论是理论和实践上,都积累了一些经验,恰逢这两天又出现一些数据备份方面的问题,这里,我将之前遇到过的数据备份方法简单做个整理。       我们都知道,保障数据库的稳定、安全、高效运行,是DBA的工作职责所在。对于DBA来讲,要想实现数据安全,数据备份可能是至关重要的一个环节。       我曾经就遇到过一个案例,业务方误删数据引发故障,要求

  • 数据库分库分表是什么,什么情况下需要用分库分表

    2021-03-23 11:54:40

    数据量在什么情况下需要分表?为了保证数据库的查询效率,当数据达成一定量时建议进行分表操作1、oracle当oracle单表的数据量大于2000万行时,建议进行水平分拆。2、mysql当mysql单表的数据量大于1000万行时,建议进行水平分拆。单表容量到了1000W以上基本上稍微复杂一点的SQL都需要仔细优化,这时候的SQL耗时主要集中在磁盘IO上,数据命令缓存的概率降低,总之不好搞,如果是正常的

  • 数据库分库分表是什么,什么情况下需要用分库分表

    2021-03-23 11:54:40

    数据量在什么情况下需要分表?为了保证数据库的查询效率,当数据达成一定量时建议进行分表操作1、oracle当oracle单表的数据量大于2000万行时,建议进行水平分拆。2、mysql当mysql单表的数据量大于1000万行时,建议进行水平分拆。单表容量到了1000W以上基本上稍微复杂一点的SQL都需要仔细优化,这时候的SQL耗时主要集中在磁盘IO上,数据命令缓存的概率降低,总之不好搞,如果是正常的

  • PostgreSQL用户登录失败自动锁定的处理方案

    2021-03-21 10:54:16

    墨墨导读:PostgreSQL使用session_exec插件实现用户密码验证失败几次后自动锁定,本文介绍一种处理方案。一、插件session_exec安装配置篇下载插件并编译安装。https://github.com/okbob/session_exec$ unzip session_exec-master.zip $ cd session_exec-master/$ make pg_confi

  • PostgreSQL用户登录失败自动锁定的处理方案

    2021-03-21 10:54:16

    墨墨导读:PostgreSQL使用session_exec插件实现用户密码验证失败几次后自动锁定,本文介绍一种处理方案。一、插件session_exec安装配置篇下载插件并编译安装。https://github.com/okbob/session_exec$ unzip session_exec-master.zip $ cd session_exec-master/$ make pg_confi

  • c# 如何自己实现一个ORM框架

    2021-03-18 20:55:15

    0. 前言在之前的几篇内容中,我们了解了如何通过ADO.NET 访问数据库,如何修改、新增数据。如何通过DataSet和DataAdapter获取数据,我们将在这一篇试试自己实现一个简单的ORM框架或者说ORM工具类。涉及到的知识点:  反射(初级)  ADO.NET 已有知识  1. ORM那么,问题来了,什么是ORM?ORM全称 Object Relational Mapping,翻译过来就是

  • c# 如何自己实现一个ORM框架

    2021-03-18 20:55:15

    0. 前言在之前的几篇内容中,我们了解了如何通过ADO.NET 访问数据库,如何修改、新增数据。如何通过DataSet和DataAdapter获取数据,我们将在这一篇试试自己实现一个简单的ORM框架或者说ORM工具类。涉及到的知识点:  反射(初级)  ADO.NET 已有知识  1. ORM那么,问题来了,什么是ORM?ORM全称 Object Relational Mapping,翻译过来就是

  • 浅谈为什么MySQL不推荐使用子查询和join

    2021-03-17 20:56:04

    做分页查询:1.对于mysql,不推荐使用子查询和join是因为本身join的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做join,merge数据。2.子查询就更别用了,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程。3.如果是JOIN的话,它是走嵌

  • 浅谈为什么MySQL不推荐使用子查询和join

    2021-03-17 20:56:04

    做分页查询:1.对于mysql,不推荐使用子查询和join是因为本身join的效率就是硬伤,一旦数据量很大效率就很难保证,强烈推荐分别根据索引单表取数据,然后在程序里面做join,merge数据。2.子查询就更别用了,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程。3.如果是JOIN的话,它是走嵌

  • Oracle手动建库安装部署超详细教程

    2021-03-17 20:55:56

    手动创建PROD数据库步骤1 指定SIDOracle_SID是用于区别数据库实例的环境变量。ORACLE_SID=prodexport ORACLE_SID步骤2 确定Oracle环境的环境变量在操作系统平台下,Oracle_SID和ORACLE_HOME必须指定,建议指定PATH包含ORACLE_HOME/bin目录。环境变量的实际操作如下:创建数据目录和审计目录:[oracle@db1 ora

  • Oracle手动建库安装部署超详细教程

    2021-03-17 20:55:56

    手动创建PROD数据库步骤1 指定SIDOracle_SID是用于区别数据库实例的环境变量。ORACLE_SID=prodexport ORACLE_SID步骤2 确定Oracle环境的环境变量在操作系统平台下,Oracle_SID和ORACLE_HOME必须指定,建议指定PATH包含ORACLE_HOME/bin目录。环境变量的实际操作如下:创建数据目录和审计目录:[oracle@db1 ora

  • windows 批处理bat连接本地mysql 创建制定数据 并执行sql文件

    2021-03-17 20:54:55

    实例代码@echo offset path=C:\Program Files\MySQL\MySQL Server 5.7\bincd ./set CURR_PATH=%cd%mysql -h localhost -u root --password=123456 < operate.txt mysql -h localhost -u root -p stcounter < stcounter.s

  • windows 批处理bat连接本地mysql 创建制定数据 并执行sql文件

    2021-03-17 20:54:55

    实例代码@echo offset path=C:\Program Files\MySQL\MySQL Server 5.7\bincd ./set CURR_PATH=%cd%mysql -h localhost -u root --password=123456 < operate.txt mysql -h localhost -u root -p stcounter < stcounter.s

  • 如何用Jfinal连接多个数据库

    2021-03-15 15:54:46

    ActiveRecordPlugin可以支持多个数据库,多个语言,我们只需要添加多个ActiveRecordPlugin,分别配置即可。Jfinal连接多个数据库1. 添加mssql-jdbc-7.4.1.jar和mysql-connector-java-8.0.12.jar分别用于连接sqlserver及mysql数据库。<!-- https://mvnrepository.com/artifa

  • 如何用Jfinal连接多个数据库

    2021-03-15 15:54:46

    ActiveRecordPlugin可以支持多个数据库,多个语言,我们只需要添加多个ActiveRecordPlugin,分别配置即可。Jfinal连接多个数据库1. 添加mssql-jdbc-7.4.1.jar和mysql-connector-java-8.0.12.jar分别用于连接sqlserver及mysql数据库。<!-- https://mvnrepository.com/artifa

  • 详解Mybatis模板(已优化)适合小白

    2021-03-15 12:55:19

    1.搭建数据库(我用的是mysql 5.5)#创建一个mybatis数据库create database `mybatis`; #使用mybatis数据库use `mybatis`; #创建一个user表,有id、username、password三个字段create table `user`(  `id` int(10) not null primary key auto_increment,

  • 详解Mybatis模板(已优化)适合小白

    2021-03-15 12:55:19

    1.搭建数据库(我用的是mysql 5.5)#创建一个mybatis数据库create database `mybatis`; #使用mybatis数据库use `mybatis`; #创建一个user表,有id、username、password三个字段create table `user`(  `id` int(10) not null primary key auto_increment,

  • 使用 Redis 缓存实现点赞和取消点赞的示例代码

    2021-03-15 12:55:18

    点赞功能是很多平台都会提供的一个功能,那么,我们要如何实现点赞和取消点赞呢?这篇文章总结了我在项目中实现点赞的方法。缓存 vs 数据库?首先我们要考虑的是数据要放到哪里,很多时候我们都会把数据放到数据库(如 MySQL),由于关系型数据库的稳定性,大部分场景下我们也都会使用关系数据库来存储数据。不过,在一些特殊的场景下,传统的关系型数据库很可能无法满足我们的需求。比如,在访问量较大的情况下,数据库

  • 使用 Redis 缓存实现点赞和取消点赞的示例代码

    2021-03-15 12:55:18

    点赞功能是很多平台都会提供的一个功能,那么,我们要如何实现点赞和取消点赞呢?这篇文章总结了我在项目中实现点赞的方法。缓存 vs 数据库?首先我们要考虑的是数据要放到哪里,很多时候我们都会把数据放到数据库(如 MySQL),由于关系型数据库的稳定性,大部分场景下我们也都会使用关系数据库来存储数据。不过,在一些特殊的场景下,传统的关系型数据库很可能无法满足我们的需求。比如,在访问量较大的情况下,数据库

  • Django创建项目+连通mysql的操作方法

    2021-03-09 12:54:32

    1:django-admin.py startproject 项目名2:cd 项目名3:修改setting.py(1):ALLOWED_HOSTS = []=>ALLOWED_HOSTS = [“*”](2):LANGUAGE_CODE = 'en-us' => LANGUAGE_CODE = 'zh-hans'(3):TIME_ZONE = 'UTC' => TIME_ZONE = 'Asia/

  • Django创建项目+连通mysql的操作方法

    2021-03-09 12:54:32

    1:django-admin.py startproject 项目名2:cd 项目名3:修改setting.py(1):ALLOWED_HOSTS = []=>ALLOWED_HOSTS = [“*”](2):LANGUAGE_CODE = 'en-us' => LANGUAGE_CODE = 'zh-hans'(3):TIME_ZONE = 'UTC' => TIME_ZONE = 'Asia/

  • PostgreSQL数据库中如何保证LIKE语句的效率(推荐)

    2021-03-08 11:58:04

    在任何数据库中使用LIKE语句往往都是令人头疼的一件事,因为不少用户发现LIKE语句效率极低,查看执行计划后发现原来没有走索引,那么在Postgresql数据中LIKE语句的执行效率又是怎样的呢?我们又该如何提高LIKE语句的执行效率呢?  实验环境数据库环境: PostgreSQL 12.3  X86_64  创建虚拟环境:postgres=# create database testdb01

  • PostgreSQL数据库中如何保证LIKE语句的效率(推荐)

    2021-03-08 11:58:04

    在任何数据库中使用LIKE语句往往都是令人头疼的一件事,因为不少用户发现LIKE语句效率极低,查看执行计划后发现原来没有走索引,那么在Postgresql数据中LIKE语句的执行效率又是怎样的呢?我们又该如何提高LIKE语句的执行效率呢?  实验环境数据库环境: PostgreSQL 12.3  X86_64  创建虚拟环境:postgres=# create database testdb01

  • docker-compose基于MySQL8部署项目的实现

    2021-03-08 11:54:45

    1.首先按照以下的路径创建相应的文件夹/usr/local/docker/mysql2.然后在该目录下创建docker-compose.yml文件并且在文件中加入以下的配置version: '3.1'services: db:  image: mysql  restart: always  environment:   MYSQL_ROOT_PASSWORD: 123456  command:

  • docker-compose基于MySQL8部署项目的实现

    2021-03-08 11:54:45

    1.首先按照以下的路径创建相应的文件夹/usr/local/docker/mysql2.然后在该目录下创建docker-compose.yml文件并且在文件中加入以下的配置version: '3.1'services: db:  image: mysql  restart: always  environment:   MYSQL_ROOT_PASSWORD: 123456  command:

  • 详解记录MySQL中lower_case_table_names的坑

    2021-03-07 11:54:39

    1 起因项目迁移数据库, 重新启动后, 报错"T_AAA表不存在", 但数据库中可以查看到该表并有数据2 问题分析通过重装系统与数据库, 确认系统与数据库纯净, 排除系统和数据库的原因使用同一方式恢复两天前和一天前的数据备份, 同样不能启动项目, 排除数据内容的原因使用mysqldump和导出SQL文件两种方式, 恢复一天前的数据, 同样不能启动项目, 排除恢复方式的原因以上方式基本是运维人员参与

  • 详解记录MySQL中lower_case_table_names的坑

    2021-03-07 11:54:39

    1 起因项目迁移数据库, 重新启动后, 报错"T_AAA表不存在", 但数据库中可以查看到该表并有数据2 问题分析通过重装系统与数据库, 确认系统与数据库纯净, 排除系统和数据库的原因使用同一方式恢复两天前和一天前的数据备份, 同样不能启动项目, 排除数据内容的原因使用mysqldump和导出SQL文件两种方式, 恢复一天前的数据, 同样不能启动项目, 排除恢复方式的原因以上方式基本是运维人员参与

 1468    1 2 3 4 5 6 7 8 9 10 下一页 尾页

分类点击榜

    栏目ID=0的表不存在(操作类型=0)

分类评论榜

    栏目ID=0的表不存在(操作类型=0)

微信扫一扫

易采站长站微信账号