October 03, 2022 13 min read 数据库 MiniDB 开发手札2 - 网络通信: PostgreSQL 服务端实现 要写一个能够进行网络通信的协议,我们需要有客户端和服务端,定义各种数据包格式以及它们的交互流程,然后需要考虑安全性、效率等各种因素……实在是太麻烦了!所以,与其从头开始设计一个通讯协议,为什么不先研究一下现有数据库系统的协议呢? 如果我们直接实现了某个数据库的协议,那么这款数据库的客户端就可以直接连接到我们的数据库上,这样的话,我们岂不是连客户端都可以不用写了。嘿嘿…… 抱着这种想法,本人在网上进行了一番调研,最后决定使用 PostgreSQL 数据库的通信协议。 选择 PostgreSQL 主要是因为…… 1. 社区活跃,资料丰富(不知道的能 Google) 2. 官网有较为详细的通信协议文档(我看得懂) 3. 版权属于社区, 继续阅读
October 03, 2022 2 min read 数据库 MiniDB 开发手札1 - 概览 本学期一门叫《应用软件开发》的课程要求我们实现一个数据库系统,要求能索引、可持续化、多表连接查询、远程访问等功能。 简单思考了一下,我认为这个数据库应该分为以下几个部分: 看起来是一个挺复杂的工程,但慢慢实现一定是能成功的。 系统结构对于网络通信这一部分,因为自己一直想试试 Netty 这个网络框架,但是又觉得 Java 写着无聊,于是便选择了 Kotlin 作为后端服务器的编程语言,顺便学习一下它的使用方式。 SQL 解析可以使用 ANTRL 来实现, GitHub 上也有大量的资料,应该不是很大的问题。 我希望这款数据库不仅可以作为像 MySQL 这样的分布式数据库服务器, 继续阅读
July 06, 2016 1 min read 数据库 博客数据库迁移 之前为了几块钱给换了一个新VPS,但一租来就后悔了,原来的VPS有512MB的内存,然而这个VPS只有128MB。所以装上数据库的时候就尴尬了:内存不够用,网站动不动就宕机。 今天又遇到这种情况了,简直不能忍!于是我趁自己另外一个VPS空闲着没用的机会,把数据库转移过去。 Getting Started 先把目标VPS(CentOS6.5)上原来的MySQL数据库卸载. sudo yum remove mysql 然后清空数据库的文件,否则安装MariaDB后会出现启动失败的情况。 sudo rm -rf /var/lib/mysql/ 接下来,就可以开始安装MariaDB啦! 安装过程官网都有详细介绍 继续阅读