LinkNemo

  • 随遇而安

    MySQL ERROR 1050 (42S01): Table xxx already exists

    原文出处:潇湘隐者今天遇到一个关于MySQL求助的问题,修改表结构时遇到“ERROR1050(42S01):tablexxxalreadyexits”mysql>ALTERTABLEDAY_BOOK_REPORTADDUNIT_PRICE_PCSDOUBLE(12,2)DEFAULTNULL;ERROR1050(42S01):TABLE'INVGSP/#SQL-IB379'ALREADYEXISTSmysql>检查了后,发现表DAY_BOOK_REPORT确实不存在字段UNIT_PRICE_PCS,但是给表加字段时就报这个错误,遂咨询了一下他具体的操作过程,反馈是当时在做大量数据更......
    2018/04/11 17:57:11发表 70赏阅 0点评
  • Nemo

    两阶段提交及JTA 【转载】

    本文转发自技术世界,原文链接http://www.jasongj.com/big_data/two_phase_commit/分布式事务与本地事务一样,包含原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。两阶段提交是保证分布式事务中原子性的重要方法。本文重点介绍了两阶段提交的原理,PostgreSQL中两阶段提交接口,以及Java中两阶段提交接口规范JTA的使用方式。分布式事务分布式事务简介分布式事务是指会涉及到操作多个数据库(或者提供事务语义的系统,如JMS)的事务。其实就是将对同一数据库事务的概念扩大到了对多个数......
    2018/02/27 10:11:13发表 146赏阅 0点评
  • Nemo

    MYSQl 数据库系统用户表加密方式

    MySQL4.1版本之前是MySQL323加密,MySQL4.1和之后的版本都是MySQLSHA1加密。MySQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MySQL数据库里进行查询,前者是MySQL323加密,后者是MySQLSHA1方式加密。(1)以MySQL323方式加密       select  old_password('2333333');(2)以MySQLSHA1方式加密      ......
    2018/02/09 10:22:01发表 240赏阅 0点评
  • 随遇而安

    记一次 MySQL 删库的数据恢复(转载)

    原文出处:赖勇浩昨天因为不可描述的原因,数据库直接被 dropdatabase删除。在第一时间停止数据库服务和Web服务,备份MySQL数据目录下的所有文件之后,开始走上数据恢复之路。第一次干这种事,各种不得法。因为我们既没有备份,也没有开启binlog,连innodb_file_per_tabe_也没有。一番折腾后向万能的朋友圈求救,朋友给了两个链接,最终救了一下命。以下先按编号记下URL,后续引用之。http://dba.stackexchange.com/questions/23251/is-there-a-way-to-recover-a-dropped-mysql-data......
    2018/02/05 11:11:16发表 88赏阅 0点评
  • Nemo

    MySQLNonTransientConnectionException: No operations allowed after connection closed.

    新框架的简单demo上线一晚上后,简单数据源出现了这么一个问题:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Nooperationsallowedafterconnectionclosed.atsun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.ja......
    2018/01/26 19:10:50发表 249赏阅 0点评
  • Nemo

    自己写一个最简单的数据库

          所有应用软件之中,数据库可能是最复杂的。Mysql的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。  但是,自己写一个最简单的数据库,做起来并不难。Reddit上面有一个帖子,只用了几百个字,就把原理讲清楚了。一、数据以文本形式保存  第一步,就是将所要保存的数据,写入文本文件。这个文本文件就是你的数据库。  为了方便读取,数据必须分成记录,每一条记录的长度规定为等长。比如,假定每条记录的长度是800字节,那么第5条记录的开始位置就在3200字节。  大多数时候,我们......
    2018/01/16 17:09:44发表 226赏阅 0点评
  • Nemo

    《数据库系统实现》(第二版)pdf资源下载(备份)

    最近在折腾一些数据库的底层原理。从数据结构到算法。。。大学没能修数据库原理这门课着实是相当可惜。。。这本《数据库系统实现》很有名。下载地址:
    2018/01/16 15:35:20发表 342赏阅 0点评
  • Nemo

    Mysql执行查询的原理【转载】

    可以用一张网上找的图片来描述:从图中可以看出基本步骤为:1、客户端发送一条查询给服务器。2、服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。3、服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划4、MySql根据优化器生成的执行计划,调用存储引擎的API执行查询。5、返回结果给客户端。MySQL客户端/服务器通信协议MySQL客户端和服务器之间的通信协议是“半双工”的,这意味着,在任何野时刻,要么是由服务器向客户端发送数据,要么是客户端向服务器发送数据,这两个动作不能同时执行。所以,我们无法也无须将也消息切成小块独立来发送。这种协议让MySQL通......
    2018/01/16 14:56:06发表 105赏阅 0点评
  • Nemo

    MySQL索引背后的数据结构及算法原理【转载】

    最近在研究索引的算法以及数据结构一类的东西。看完这篇文章后,收获颇多。另外推荐下CodingLabs这个博客,在看了这篇文章后,我陆陆续续浏览了上面的一些其他文章,干货不少,而且作者本身也非常牛逼~原文地址:http://blog.codinglabs.org/articles/theory-of-mysql-index.html摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTr......
    2018/01/11 14:34:24发表 114赏阅 0点评
  • Nemo

    基于XML - 简单模仿mongodb实现一个数据库

    源码寄存在GitHub仓库,地址为:https://github.com/NemoMeng/NemoMiniDb-XML这是一个简单模仿mongodb的数据库程序,底层数据存储的是XML文件,而不是JSON。该程序只用于学习用途。目前功能比较简单,不考虑多用户,不考虑多线程,不考虑效率,不考虑资源占用......只简单实现增删改查操作。后续如果有时间,需要继续完善,目前暂时先这样了。详细说明待添加,先占个位置,待续...
    2018/01/11 14:08:44发表 97赏阅 0点评
  • Nemo

    简单模仿mongodb实现一个数据库

    源码寄存在GitHub,地址是:https://github.com/NemoMeng/NemoMiniDb这是一个简单模仿mongodb的数据库程序。该程序只用于学习用途。目前功能比较简单,不考虑多用户,不考虑多线程,不考虑效率,不考虑资源占用......只简单实现增删改查操作。后续如果有时间,需要继续完善,目前暂时先这样了。详细说明待添加,先占个位置,待续...
    2018/01/10 18:57:13发表 108赏阅 0点评
  • Nemo

    一些关于数据库事务的基本原则总结

    事务:事务是一组原子性sql查询语句,被当作一个工作单元。若mysql对改事务单元内的所有sql语句都正常的执行完,则事务操作视为成功,所有的sql语句才对数据生效,若sql中任意不能执行或出错则事务操作失败,所有对数据的操作则无效(通过回滚恢复数据)。事务有四个属性:1、原子性:事务被认为不可分的一个工作单元,要么全部正常执行,要么全部不执行。2、一致性:事务操作对数据库总是从一种一致性的状态转换成另外一种一致性状态。3、隔离性:一个事务的操作结果在内部一致,可见,而对除自己以外的事务是不可见的。4、永久性:事务在未提交前数据一般情况下可以回滚恢复数据,一旦提交(commit)数据的改变则变......
    2017/12/25 16:40:11发表 158赏阅 2点评
  • Nemo

    NemoDao - 简单模仿mybatis实现一个持久层框架

    嗯,这几天用稍稍闲散的时间模仿着mybatis写了一个简单的持久层框架。目前只有一些简单的操作,不过足以用来学习一些mybatis简单的原理了。这个项目的源码托管在github,地址为:https://github.com/NemoMeng/NemoDao可以先分析下我们在使用mybatis中做的一些工作:1、配置处理。2、写mapper。3、写dao接口,在需要的地方调用dao接口。这么着写这个框架的大致内容也出来了:1、首先,我们在做的这个框架是用来操作数据库的,所以我们需要对jdbc做一些封装处理。2、我们需要预定义一些配置,在程序执行的过程中加载配置,以便在程序中使用。3、我们需要扫描......
    2017/12/22 18:39:24发表 190赏阅 1点评
  • Nemo

    Mysql 基础架构分析

    MySQL从概念上可以分为四层。从上到下分别为:接入层、服务层、存储引擎层、系统文件层。接入层:不同语言的客户端通过mysql的协议与mysql服务器进行连接通信,接入层进行权限验证、连接池管理、线程管理等。服务层:包括sql解析器、sql优化器、数据缓冲、缓存等。存储引擎层:mysql中存储引擎是基于表的。系统文件层:保存数据、索引、日志等。贴个图:
    2017/12/25 16:56:57发表 146赏阅 0点评
  • Nemo

    分布式数据库架构--分库、分表、排序、分页、分组、实现 (转载)

    MySQL分库分表总结:单库单表:单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。 单库多表:随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。如果使用mysql,还有一个更严重的问题是,当需要添加一列的时候,mysql会锁表,期间所有的读写操作只能等待。 可以通过某种方式将user进行水平的切分,产生两个表结构完全一样的user_0000,user_0001等表,user_0000+user_0001+…的数据刚好是......
    2017/12/12 14:23:56发表 130赏阅 0点评
  • Nemo

    spring + mybatis 操作AbstractRoutingDataSource 实现数据库读写分离

    设想需要读写分离的场景:   随着系统业务的复杂度+同时操作人数的日益增加,通过sql调优,数据源调优,网站分布式等等手段已经不足以应对,因为单台数据库服务器受CPU,磁盘IO,内存等等限制,很容易会成为整个系统的性能瓶颈。   目前应对大并发的处理中,集群是比较流行的处理方式。运用可以做集群,数据库也同样可以。  mysql读写分离则是应对数据库瓶颈的解决方案之一:通过单台主节点数据库服务器处理数据更新及实时数据,多台从节点数据库服务器处理一些不需要实时的数据查询,从而分担来自数据库方面的压力、提高数据库性能。m......
    2017/11/07 17:30:04发表 476赏阅 0点评

最新点击

热门人物

热门标签

回到顶部