八
31
2010
八
31
2010
八
26
2010
满足海量存储需求和访问的面向文档的数据库:MongoDB,CouchDB
MongoDB
Nice, I like it very much.
面向文档的非关系数据库主要解决的问题不是高性能的并发读写,而是保证海量数据存储的同时,具有良好的查询性能。MongoDB是用C++开发的,而CouchDB则是Erlang开发的:
1、MongoDB
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似 json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几 乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
Mongo主要解决的是海量数据的访问效率问题,根据官方的文档,当数据量达到50GB以上的时候,Mongo的数据库访问速度是MySQL的 10倍以上。Mongo的并发读写效率不是特别出色,根据官方提供的性能测试表明,大约每秒可以处理0.5万-1.5次读写请求。对于Mongo的并发读 写性能,我(robbin)也打算有空的时候好好测试一下。
(全文 …)
七
21
2010
七
6
2010
Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长。如果想彻底释放这些已经 删除的数据,需要把数据库导出,删除InnoDB数据库文件,然后再倒入。 下面是基本的步骤:
1 使用mysqldump命令将InnoDB数据库导出
2 停止MySQL
3 删除所有InnoDB数据库文件和日志
4 启动MySQL并自动重建InnoDB数据库文件和日志文件
5 导入前面备份的数据库文件
有一点要注意,你配置了MySQL数据库复制,当你导入数据库备份文件的时候,所有的Query都可能会被写入Binlog,可以执行SET SQL_LOG_BIN = 0;暂时停止Binlog的写入。
还有一种方式是在创建数据库的时候设置innodb_file_per_table,这样InnoDB会对每个表创建一个数据文件,然后只需要运 行OPTIMIZE TABLE 命令就可以释放所有已经删除的磁盘空间。
六
21
2010
新的安全漏洞名单列出了可导致数据破坏的最常见的数据库问题。
对于Application Security公司新的十大数据库漏洞名单中所列出的问题,数据库管理员都非常熟悉。从预设密码的使用到补丁问题,数据库管理系统受到各种问题的困扰,使其容易受到攻击。当我报告数据库管理问题时,数据库管理员告诉我,他们都意识到这些常见的可能导致数据破坏的安全问题。但是,他们常说包含敏感数据的DBMS通常由许多不同的安全系统包围,这减少了攻击的威胁。
(全文 …)
六
18
2010
六
18
2010
通过服务器直接备份博客数据库虽然最安全,但是需要手动不方便;通过 WordPress 插件备份虽然可以全自动,但是可能会出现问题。所以,如果能够把数据库备份到服务器,同时也备份到邮箱,不需要安装任何插件,并且一切都是自动 完成的,那就好了。
事实上,AutoMySQLBackup 程序是可以实现这个想法的,虽然并不适合所有的服务器。下面先介绍 AutoMySQLBackup 程序的使用方法,然后再说说它的不足之处。
第一步. 下载 AutoMySQLBackup 文件
下载地址:AutoMySQLBackup
(全文 …)
六
18
2010
直接备份 WordPress 博客数据库的方法虽然比较安全,但是也比较麻烦,因为你每次都要手动操作。于是,有人想到了通过使用插件的方法来自动备份 WordPress 博客的数据库。
WordPress 博客数据库备份插件不少,下面 10 个则是其中的佼佼者,它们都是免费的并且都兼容于 WordPress 2.9.2:
六
14
2010
在MySQL-Front v5.0 build 1.126下测试通过。
NAME:xok.la
Key:
e1Ns2izlxZwu9Lb4X8qlcWGoxQpUU+hI
8CsVahbbMjpH2F5PfAgosxzjGhATkWJu
UsE8QXsqfZ5iSs9yM7D2XMOUVFpKud9K
2977pO7s1Efi72iGWxUn+209a6tulHkq
5cgLtLSpWsK7uvsOeG4UgYZoRnbp+0T4
PJEplfQk9YpMfY9yYJG+NOUbvM1+kMcf
CWd9iq3AZHrFHTm5qpSWEiJamTtIpyAD
4UuLXoNyojh5Ne0S6SWxxUJsUQS3DStB
o/e0aVBzhRwmrtvg4QdUIg==
六
3
2010
SQL注入漏洞曾经是Web应用程序的噩梦,CMS、BBS、Blog无一不曾受其害。
以往在Web应用程序访问数据库时一般是采取拼接字符串的形式,比如登录的时候就是根据用户名和密码去查询:
string sql = "SELECT TOP 1 * FROM [User] WHERE UserName = ‘” + userName + “‘ AND Password = ‘” + password + “‘”;
其中userName和password两个变量的值是由用户输入的。在userName和password都合法的情况下,这自然没有问题,但是 用户输入是不可信的,一些恶意用户只要用一些技巧,就可以绕过用户名、密码登录。
假设password的值是”1′ or ‘1′ = ‘1“,userName的值随便取,比如是”abc”,那变量sql的 值就是:
(全文 …)