— 多主-从
http://www.gaodaima.com/
http://www.gaodaima.com/
前facebook员工和前微软sql server工程师联合搞的一个分布式关系数据库
全部内存运行,将sql转化成速度更快的c++, 原理类似HipHop
有mysql api, 完全兼容mysql,没有学习使用成本
速度是mysql的30倍,每秒可处理150万的事务
官方网站:http://www.gaodaima.com/
参考文档:http://www.gaodaima.com/
参考官方文档:http://www.gaodaima.com/
http://www.gaodaima.com/
— ==============================================================
1 Install
wget http://www.gaodaima.com/tar xvfz memsqlbin_amd64.tar.gzcd memsqlbin./check_systemWarning: 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://www.gaodaima.com/tar zxvf glibc-2.11.tar.gzcd glibc-2.11mkdir 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://www.gaodaima.com/
http://www.gaodaima.com/
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://www.gaodaima.com/tar zxvf glibc-2.8.tar.gzcd glibc-2.8mkdir glibc-2.8-build
退出去在别的目录执行如下编译
/usr/src/glibc-2.8/configure --prefix=/usr/src/glibc-2.8/glibc-2.8-build/makemake install
继续执行刚才的check_system
[root@banggo memsqlbin]# ./check_systemWarning: 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://www.gaodaima.com/tar xvfz memsqlbin_amd64.tar.gzcd 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 3308299691 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 0120627 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] Aborting120627 13:26:27 [Note] ./memsqld: Shutdown complete[root@memdb memsqlbin]# ./memsqld -u root --port 3308292356 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 0120627 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 253Server version: 5.5.8 MemSQL source distributionCopyright (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 licenseType '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 changedMemSQL> show tables;Empty set (0.00 sec)MemSQL> use information_schema;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedMemSQL> show tables;+---------------------------------------+| Tables_in_information_schema |+---------------------------------------+| CHARACTER_SETS || COLLATIONS || COLLATION_CHARACTER_SET_APPLICABILITY || COLUMNS || COLUMN_PRIVILEGES || ENGINES || EVENTS || FILES || GLOBAL_STATUS <span>本文来源gaodai#ma#com搞*!代#%^码$网*</span> || 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> exitBye
— 重新登录,输入-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 253Server version: 5.5.8 MemSQL source distributionCopyright (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 licenseType '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的数据库的内容,更多相关内容请关注搞代码(www.gaodaima.com)!