安装memsql
安装挺简单的,所谓的安装其实就是解压缩二进制包,然后检查下环境就o了,步骤如官网页面所示:
-
$ wget /814d3816f4084953833243fbf6c40d37/memsqlbin_amd64.
$ tar xvfz memsqlbin_amd64.
$ cd memsqlbin
$ ./check_system
$ ./memsqld --port 3307
这下不仅安装完了,连服务都启动好了。说明一下,这是官方的步骤,如果我指定的话,最后一步会加个&符号,将任务放在后台执行。
注意看这里指定了--port选项值为3307,这是避免与MySQL数据库服务默认的3306端口冲突,memsqld启动时如果不指定--port选项,那么默认服务端口也是3306。
-
提示:
MemSQL也有选项文件,跟MySQL挺像,就位于memsqlbin目录下,名为。
然后就可以拿标准的mysql命令行工具连接该MemSQL服务:
-
$ mysql -u root -h 127.0.0.1 -P 3307 --prompt="MemSQL> "
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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| memsql |
+--------------------+
2 rows in set (0.00 sec)
绳命,处处都充满着井棋,居然连information_schema都有,还真跟MySQL一样。
安装挺简单的,所谓的安装其实就是解压缩二进制包,然后检查下环境就o了,步骤如官网页面所示:
-
$ wget /814d3816f4084953833243fbf6c40d37/memsqlbin_amd64.
$ tar xvfz memsqlbin_amd64.
$ cd memsqlbin
$ ./check_system
$ ./memsqld --port 3307
这下不仅安装完了,连服务都启动好了。说明一下,这是官方的步骤,如果我指定的话,最后一步会加个&符号,将任务放在后台执行。
注意看这里指定了--port选项值为3307,这是避免与MySQL数据库服务默认的3306端口冲突,memsqld启动时如果不指定--port选项,那么默认服务端口也是3306。
-
提示:
MemSQL也有选项文件,跟MySQL挺像,就位于memsqlbin目录下,名为。
然后就可以拿标准的mysql命令行工具连接该MemSQL服务:
-
$ mysql -u root -h 127.0.0.1 -P 3307 --prompt="MemSQL> "
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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| memsql |
+--------------------+
2 rows in set (0.00 sec)
绳命,处处都充满着井棋,居然连information_schema都有,还真跟MySQL一样。
将数据库从 MySQL 移植到 MemSQL
mysqldump 是 MySQL 客户端最常用的数据备份工具之一,它会生成一些列创建表和插入数据的SQL语句,因此用来恢复一个数据库是最方便的。
•因为 code generation 的缘故, MemSQL 首次加载数据库结构的速度要比 MySQL 慢,因为 MemSQL 首次加载表结构时,会生成并编译代码来实现这个表的架构,包括内存分配、插入、删除和迭代方法等等。一旦表被编译完成,MemSQL 将在整个运行期间直接使用编译好的代码。而 mysqldump 生成的 INSERT 语句也将特别编译一次。
•mysqldump 会生成一些 MemSQL 不支持的 SQL 语句,例如不支持 UNIQUE_CHECKS,为了更好的支持 mysqldump,MemSQL 对这些不支持的语句只是予以警告,可通过调整warn_level 变量来控制错误的级别,详情请看 Unsupported Features . 某些 CREATE TABLE 语句可能被完全阻止执行,如果你遇见这种问题,只能手工去修改表的定义SQL。
•如果你运行 MemSQL 的机器没有足够的内存来加载数据,服务器将会对 INSERT 语句执行报 out-of-memory 的错误信息,这种情况你只能安装更多的内存。如果你将已有的 memsqlbin 目录复制到新的机器上,那么MemSQL 会继续沿用已编译的表定义和 INSERT 语句。如果你使用的是 MemSQL 开发版,而且超过了10G 的限制,那你可以参考 /next 来了解如何升级。
建议你将数据库结构定义和数据分开独立文件存放,这样就可以在需要的时候来调整表结构,你可以使用下面命令来分别导出数据库结构和数据文件:
让应用程序支持 MemSQL 非常简单,只需要改连接配置即可。