数据库
文章平均质量分 81
ppingfann
这个作者很懒,什么都没留下…
展开
-
etcd后端存储源码解析——底层读写操作
背景最近想找一些用Go语言实现的优秀开源项目学习一下,etcd作为一个被广泛应用的高可用、强一致性服务发现存储仓库,非常值得分析学习。本篇文章主要是对etcd的后台存储源码做一解析,希望可以从中学到一些东西。etcd大版本区别目前etcd常用的是v2和v3两个大版本。两个版本不同之处主要在于:v2版本仅在内存中对数据进行了存储,没有做持久化存储。而v3版本做了持久化存储,且还使用了缓存机制加快查询速度。v2版本和v3版本对外提供的接口做了一些改变。在命令行界面中,可以使用环境变量ETCDCTL原创 2020-11-08 10:29:09 · 919 阅读 · 0 评论 -
etcd的安装与命令行使用
背景etcd是CoreOS团队于2013年6月发起的一个开源项目,它是一个优秀的高可用分布式键值对存储数据库。etcd内部采用了Raft协议作为一致性算法,且使用Go实现。这篇文章主要记录etcd在Linux上的单机版安装与简单的命令行使用。主要是供初学者参考。etcd的安装etcd的github路径地址为:https://github.com/etcd-io/etcd我们可以直接从github中将安装压缩包下载到测试机上,使用命令wget https://github.com/coreos/e原创 2020-10-17 12:11:48 · 2437 阅读 · 1 评论 -
在生产环境中修改MySQL库表结构
背景如果我们需要在生产环境中修改MySQL数据库中某个库表的结构。那么,需要考虑哪些要点,才能确保不会出问题呢?碰到的问题这里先描述一下我在生产环境MySQL数据库中修改库表结构时遇到的问题。在开发过程中,我发现MySQL中某个库表需要添加一个字段,比如库表:...原创 2020-09-19 17:55:48 · 1951 阅读 · 0 评论 -
Warning: (1265, u"Data truncated for column 'XXX' at row 1")问题解决
背景在使用MySQL数据库时,有时会遇到Warning: (1265, u"Data truncated for column ‘XXX’ at row 1")这样的报错信息。具体可以考虑哪些问题呢?这里简单记录一下问题原因与解决方法。报错原因写入该字段的数据长度大于该字段定义的最大长度,比如定义了字段user_name VARCHAR(10),这个字段定义了最长写入10位字符,但是,如...原创 2020-04-17 19:59:20 · 27666 阅读 · 0 评论 -
MySQL中常用于检索的字符串字段如何创建索引?
背景我们在业务场景中经常会碰到通过某个字符串查询对应记录的情况。比如常见的邮箱登录、或是手机号登录。如果不给它创建索引,则MySQL就会进行全局扫描,非常耗时。那么,类似邮箱地址这样的字符串,我们应该如何给它创建索引呢?这里简单介绍几种方法。几种方法比如我们有一张表user_info,存储了自增主键ID、邮箱地址、对应密码。这里我们经常会用到的SQL操作是select email, pa...原创 2020-04-10 09:43:49 · 2636 阅读 · 0 评论 -
MySQL中查询表的总行数该用什么命令?
背景我们经常会使用到一个SQL语句,就是查询某张表的总行数。常常使用的查询命令有几种,比如:select count(*) from t,select count(id) from t(id为主键),select count(1) from t,select count(某普通字段) from t以及show table status的rows字段。然而却不知道用哪种查询方式最合适。接下来简单介...原创 2020-03-20 09:25:37 · 12427 阅读 · 0 评论 -
在Mysql中执行一条SQL,会经历什么?
背景我们都经常使用Mysql作为数据库来存储与查询较常用的数据。当我们输入一行如SELECT * FROM table_name WHERE id=26这样的语句之后,Mysql如果正确执行的情况下,会输出你想要的信息。那么,在你输入这行语句之后,一直到它显示出你想要的信息,这中间Mysql都经历了什么呢?这篇文章会简单聊一下这个事情。Mysql基本架构图我们先看下Mysql的一个较整体的...原创 2020-03-16 09:56:09 · 1311 阅读 · 0 评论 -
mysql报错:2003, "Can't connect to MySQL server on ' ' [Errno 99] Cannot assign requested address 解决方法
背景使用Python脚本高并发的连接Mysql数据库时遇到了此报错。但是场景不仅限于Python,其它程序在高并发连接Mysql数据库时也可能会遇到此问题。原因定位出现该报错信息是因为在高并发连接Mysql数据库时,由于同时连接Mysql数据库的链接过多,且每次连接都是非常短的时间,导致有许多的TIME_WAIT,以致用光了服务器端口,所以新的连接就没有端口可用,导致了该报错产生。我们可...原创 2019-12-11 21:37:26 · 3761 阅读 · 0 评论 -
简述数据库系统
一、数据库系统数据库系统是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。以上这句话是对数据库系统非常严谨的定义。我这篇博客是想从自己的角度来重新认识一下数据库系统。在逐个剖析以上这些名词的含义之前先考虑一个问题:我们为什么要引入数据库系统?换句话说,引入数据库系统可以帮助我们解决什么问题?二、引入数据库系统的必要性数据,也叫做信息资源,已经原创 2017-02-26 10:48:29 · 12140 阅读 · 3 评论