http://gigaom.com/cloud/ex-facebookers-launch-memsql-to-make-your-database-fly/

-- 多主-从

http://www.mysqlops.com/2012/02/14/diy_multi_master_replication.html

http://www.cnblogs.com/liuhao/archive/2012/06/26/2563702.html

前facebook员工和前微软sql server工程师联合搞的一个分布式关系数据库

全部内存运行,将sql转化成速度更快的c++, 原理类似HipHop

有mysql api, 完全兼容mysql,没有学习使用成本

速度是mysql的30倍,每秒可处理150万的事务

官方网站:http://memsql.com/

参考文档:http://space.itpub.net/7607759/viewspace-733545

参考官方文档:http://developers.memsql.com/docs/1b/

http://developers.memsql.com/docs/1b/

-- ==============================================================

1  Install

wget http://download.memsql.com/814d3816f4084953833243fbf6c40d37/memsqlbin_amd64.tar.gz

tar xvfz memsqlbin_amd64.tar.gz

cd memsqlbin

./check_system

Warning: The version of CentOS that you're using (5.5) is too low.

MemSQL supports versions 6.0 and up.

/home/manchun/memsqlbin/objdir/usr/local/bin/memsql-g++: /lib64/libc.so.6: version GLIBC_2.11' not found (required by /home/manchun/memsqlbin/objdir/usr/local/bin/memsql-g++)

【解决办法】安装glibc

[root@banggo ~]# 

wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.11.tar.gz

tar zxvf glibc-2.11.tar.gz

cd glibc-2.11

mkdir glibc-2.11-build

退出去在别的目录执行如下编译

/usr/src/glibc-2.11/configure --prefix=/usr/src/glibc-2.11/glibc-2.11-build/

error:

checking for .cfi_personality and .cfi_lsda pseudo-ops... no 

configure: error: assembler too old, .cfi_personality support missing

【解决】
参考网址 

http://groups.google.com/group/rocks-clusters/browse_thread/thread/4c9298adecf5a335 

http://www.caritasem.com/?p=162

I couldn't overcome that problem, and I'm wondering how I can, but I 

said, "hey cuda only requires glibc-2.7, so lets compile that". I went 

ahead, and installed it into /share/apps/glibc-2.7. So here comes the 

main question: how can I link CUDA C to the glibc-2.7 installed in 

/share/apps ? Years ago, Tim Carlson has said "It is really not 

practical to try and upgrade glibc to 2.5. You might want to try 

installing a glibc 2.5 from source in /share/apps/glibc-2.5 and then 

use LD_PRELOAD to load that library in for you CMAQ binary.", but I 

don't know how to use LD_PRELOAD, and I would appreciate any 

guideline. 


[换成2.8]

[root@banggo ~]# 

wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.8.tar.gz

tar zxvf glibc-2.8.tar.gz

cd glibc-2.8

mkdir glibc-2.8-build

退出去在别的目录执行如下编译

/usr/src/glibc-2.8/configure --prefix=/usr/src/glibc-2.8/glibc-2.8-build/

make

make install

继续执行刚才的check_system

[root@banggo memsqlbin]# ./check_system

Warning: The version of CentOS that you're using (5.5) is too low.

MemSQL supports versions 6.0 and up.

/home/manchun/memsqlbin/objdir/usr/local/bin/memsql-g++: /lib64/libc.so.6: version 'GLIBC_2.11' not found (required by /home/manchun/memsqlbin/objdir/usr/local/bin/memsql-g++)

【】我不得不承认,我out了,仔细一看,原来需要centos 6.0的。

2 重新安装
wget http://download.memsql.com/814d3816f4084953833243fbf6c40d37/memsqlbin_amd64.tar.gz

tar xvfz memsqlbin_amd64.tar.gz

cd memsqlbin

 ./check_system 

报错如下:

Warning: The recommended configuration for MemSQL is at least 8 GB of RAM

【】解决方案:

 let "mem_mb=$(free -m | sed  -n -e '/^Mem:/s/^[^0-9]*\([0-9]*\) .*/\1/p')";

if [ $mem_mb -lt 1000 ]; then

    echo "Warning: The recommended configuration for MemSQL is at least 1 GB of RAM" 1>&2

    invalid='1'

fi

[root@memdb memsqlbin]#  ./check_system 

System check successful

3 登陆测试

[root@memdb memsqlbin]#  ./memsqld --port 3308

299691 2012-06-27 13:26:26 WARNING: SSE4.2 is not supported. Resorting to software CRC32C.

497378 2012-06-27 13:26:27 INFO: Log level changed to 0

120627 13:26:27 [ERROR] Fatal error: Please run MemSQL as a non-root user or specify -u root on the command line.

120627 13:26:27 [ERROR] Aborting

120627 13:26:27 [Note] ./memsqld: Shutdown complete

[root@memdb memsqlbin]#  ./memsqld -u root  --port 3308

292356 2012-06-27 13:26:54 WARNING: SSE4.2 is not supported. Resorting to software CRC32C.

480363 2012-06-27 13:26:55 INFO: Log level changed to 0

120627 13:26:55 [Note] ./memsqld: ready for connections.

Version: '1b'  socket: '/tmp/memsql.sock'  port: 3308

 4 客户端使用

[root@memdb ~]# mysql -uroot -p -h 127.0.0.1 -P3308 --prompt="MemSQL> "

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 253

Server version: 5.5.8 MemSQL source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

This software comes with ABSOLUTELY NO WARRANTY. This is free software,

and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MemSQL> 

MemSQL> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| memsql             |

+--------------------+

2 rows in set (0.00 sec)

MemSQL> use memsql;

Database changed

MemSQL> show tables;

Empty set (0.00 sec)

MemSQL> use information_schema;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

MemSQL> show tables;

+---------------------------------------+

| Tables_in_information_schema          |

+---------------------------------------+

| CHARACTER_SETS                        |

| COLLATIONS                            |

| COLLATION_CHARACTER_SET_APPLICABILITY |

| COLUMNS                               |

| COLUMN_PRIVILEGES                     |

| ENGINES                               |

| EVENTS                                |

| FILES                                 |

| GLOBAL_STATUS                         |

| GLOBAL_VARIABLES                      |

| KEY_COLUMN_USAGE                      |

| PARAMETERS                            |

| PARTITIONS                            |

| PLUGINS                               |

| PROCESSLIST                           |

| PROFILING                             |

| REFERENTIAL_CONSTRAINTS               |

| ROUTINES                              |

| SCHEMATA                              |

| SCHEMA_PRIVILEGES                     |

| STATISTICS                            |

| TABLES                                |

| TABLESPACES                           |

| TABLE_CONSTRAINTS                     |

| TABLE_PRIVILEGES                      |

| TRIGGERS                              |

| USER_PRIVILEGES                       |

| VIEWS                                 |

+---------------------------------------+

28 rows in set (0.00 sec)

MemSQL>

库名字很mysql一模一样啊,好惊奇啊,居然information_schema都有,而且里面的表名字也是一模一样的。

5 配置文件

看看memsql有没有跟mysql类似的配置文件呢,如下,果然找到了

[root@memdb memsqlbin]# ll /root/memsqlbin/memsql.cnf 

-rw-r--r--. 1 1001 1001 1026  6月 18 20:07 /root/memsqlbin/memsql.cnf

6 用户管理测试

-- 创建新账号

MemSQL> grant all on *.* to tim@'%' identified by "tim"  with grant option;

Query OK, 1 row affected (0.01 sec)

MemSQL> exit

Bye

-- 重新登录,输入-p密码,进不去,不输入密码一回车,反倒进去了,怪哉!

[root@memdb memsqlbin]# mysql -utim -ptim -h 127.0.0.1 -P3308 --prompt="MemSQL> "    

ERROR 1045 (28000): Access denied for user 'tim'@'localhost' (using password: YES)

[root@memdb memsqlbin]# mysql -utim -p -h 127.0.0.1 -P3308 --prompt="MemSQL> "   

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 253

Server version: 5.5.8 MemSQL source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

This software comes with ABSOLUTELY NO WARRANTY. This is free software,

and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MemSQL>

CREATE TABLE test (


 id int(11) NOT NULL AUTO_INCREMENT,


 excel_id varchar(100) NOT NULL,


 rpt_id int(10) unsigned NOT NULL,


 acc_std tinyint(3) unsigned NOT NULL,


 prd_year int(10) unsigned NOT NULL,


 prd_qtr tinyint(3) unsigned NOT NULL,


 accumulate char(3) NOT NULL,


 biz_cd tinyint(3) unsigned NOT NULL,


 acc_cd tinyint(3) unsigned NOT NULL,


 row_num int(10) unsigned NOT NULL,


 col_num int(10) unsigned NOT NULL,


 data_id int(10) unsigned NOT NULL,


 data_trace mediumtext NOT NULL COMMENT 'trace信息',


 trace_edit tinyint(1) NOT NULL,


 upd_stmp timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',


 PRIMARY KEY (id)


) ;

MemSQL学习笔记-类似MySQL的数据库的更多相关文章

  1. 吴裕雄--天生自然MySQL学习笔记:MySQL 选择数据库

    连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库. 从命令提示窗口中选择MySQL数据库 在 mysql> 提示窗口中可以很简单的选择特定的数据库.可以使 ...

  2. 吴裕雄--天生自然MySQL学习笔记:MySQL 删除数据库

    使用普通用户登陆 MySQL 服务器,可能需要特定的权限来创建或者删除 MySQL 数据库,所以使用 root 用户登录,root 用户拥有最高权限. 在删除数据库过程中,务必要十分谨慎,因为在执行删 ...

  3. 吴裕雄--天生自然MySQL学习笔记:MySQL 创建数据库

    在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 以下命令简单的演示了创建数据库的过程,数据名为 RUNOOB: [root@ho ...

  4. SQLMAP学习笔记2 Mysql数据库注入

    SQLMAP学习笔记2 Mysql数据库注入 注入流程 (如果网站需要登录,就要用到cookie信息,通过F12开发者工具获取cookie信息) sqlmap -u "URL" - ...

  5. golang学习笔记16 beego orm 数据库操作

    golang学习笔记16 beego orm 数据库操作 beego ORM 是一个强大的 Go 语言 ORM 框架.她的灵感主要来自 Django ORM 和 SQLAlchemy. 目前该框架仍处 ...

  6. (1.3)学习笔记之mysql体系结构(C/S整体架构、内存结构、物理存储结构、逻辑结构)

    目录 1.学习笔记之mysql体系结构(C/S架构) 2.mysql整体架构 3.存储引擎 4.sql语句处理--SQL层(内存层) 5.服务器内存结构 6.mysql如何使用磁盘空间 7.mysql ...

  7. ref:学习笔记 UpdateXml() MYSQL显错注入

    ref:https://www.cnblogs.com/MiWhite/p/6228491.html 学习笔记 UpdateXml() MYSQL显错注入 在学习之前,需要先了解 UpdateXml( ...

  8. Django 学习笔记(七)数据库基本操作(增查改删)

    一.前期准备工作,创建数据库以及数据表,详情点击<Django 学习笔记(六)MySQL配置> 1.创建一个项目 2.创建一个应用 3.更改settings.py 4.更改models.p ...

  9. SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法

    在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...

随机推荐

  1. CentOS7安装GNOME可视化界面和如何配置IP地址

    本人在虚拟机安装 CentOS7 1,检查一下我们已经安装的软件以及可以安装的软件,用命令 yum grouplist 2,然后安装我们需要的图形界面软件,GNOME(GNOME Desktop) 这 ...

  2. window.open如何返回值给父窗口

    父窗口代码 function showMyWindowNew() { var iTop = (window.screen.availHeight - 30 - 450) / 2; //获得窗口的水平位 ...

  3. Codeforces Round #356 (Div. 2) D. Bear and Tower of Cubes dfs

    D. Bear and Tower of Cubes 题目连接: http://www.codeforces.com/contest/680/problem/D Description Limak i ...

  4. UOJ 12 猜数 数学题

    [UER #1]猜数 这一天,小Y.小D.小C正在愉快地玩耍. 小Y是个数学家,他一拍脑袋冒出了一个神奇的完全平方数 n. 小D是个机灵鬼,很快从小Y嘴里套出了 n 的值.然后在脑内把 n 写成了 a ...

  5. 双频无线网安装设置(5g ) for linux

    为了在局域网实现远程wifi调试,例如调试需要图像数据传输,则需要搭建局域网5g无线网络. 1.硬件要求 a. TP-Link(型号:TL-WDR6500,AC1300双频无线路由器,支持5g,2.4 ...

  6. 不用软件快速拥有几百个QQ群并都是管理员

    不用软件快速拥有几百个QQ群并都是管理员!快速拥有有几十万精准数据库的方法 !和快速收集上亿邮箱的思维方法(附上5种赚钱方法).pdf_免费高速下载|百度云 网盘-分享无限制 http://pan.b ...

  7. Remon Spekreijse CSerialPort用法

    在程序中如果要用到多个串口,而且还要做很多复杂的处理,那么最好不用MSComm通讯控件,如果这时你还不愿意自己编写底层,就用这个类:CserialPort类.作者是 Remon Spekreijse ...

  8. 命令行编译工具NMAKE

    简介 大家已经习惯于微软提供的功能强大的IDE,已经很少考虑手动编连项目了,所谓技多不压身,有空的时候还是随我一块了解一下命令行编译. C/C++/VC++程序员或有Unix/Linux编程经验应该很 ...

  9. 转: 用 Go 写一个轻量级的 ldap 测试工具

    前言 这是一个轮子. 作为一个在高校里混的 IT,LDAP 我们其实都蛮熟悉的,因为在高校中使用 LDAP 来做统一认证还蛮普遍的.对于 LDAP 的管理员而言,LDAP 的各种操作自然有产品对应的管 ...

  10. Andorid之使用GMail后台偷偷发送邮件(不要干坏事噢=。 =)

    工具类: import java.util.Date; import java.util.Properties; import javax.activation.CommandMap; import ...