首页 > 代码库 > mysql 5.7 innodb memcached plugin 支持内存数据库

mysql 5.7 innodb memcached plugin 支持内存数据库


http://dev.mysql.com/doc/refman/5.7/en/innodb-memcached.html


一、测试环境

mysql:5.7.15

centos:6.6_x86_64


二、安装部署


1.安装libevent

# yum install libevent -y


2.执行配置sql

# find /  -name innodb_memcached_config.sql 

(root@localhost) [(none)]> source /usr/share/mysql/innodb_memcached_config.sql


3.加载插件

(root@localhost) [test]> INSTALL PLUGIN daemon_memcached soname "libmemcached.so";


三、测试


1.默认生成的表

(root@localhost) [test]> show tables;

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

| Tables_in_test |

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

| demo_test      |

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

1 row in set (0.00 sec)


2.表结构

(root@localhost) [test]> show create table demo_test\G;

*************************** 1. row ***************************

       Table: demo_test

Create Table: CREATE TABLE `demo_test` (

  `c1` varchar(32) NOT NULL,

  `c2` varchar(1024) DEFAULT NULL,

  `c3` int(11) DEFAULT NULL,

  `c4` bigint(20) unsigned DEFAULT NULL,

  `c5` int(11) DEFAULT NULL,

  PRIMARY KEY (`c1`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 row in set (0.00 sec)


ERROR: 

No query specified


3.表数据

(root@localhost) [test]> select * from demo_test;

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

| c1 | c2           | c3   | c4   | c5   |

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

| AA | HELLO, HELLO |    8 |    0 |    0 |

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

1 row in set (0.00 sec)


4.生成数据库

(root@localhost) [test]> show databases;

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

| Database           |

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

| information_schema |

| innodb_memcache    |   --新生成

| mysql              |

| performance_schema |

| test               |

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


5.新生成的表

(root@localhost) [test]> use innodb_memcache

Database changed

(root@localhost) [innodb_memcache]> show tables;

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

| Tables_in_innodb_memcache |

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

| cache_policies            |

| config_options            |

| containers                |

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


6.表结构以及内容

(root@localhost) [innodb_memcache]> select * from containers\G;

*************************** 1. row ***************************

                  name: aaa

             db_schema: test

              db_table: demo_test

           key_columns: c1

         value_columns: c2

                 flags: c3

            cas_column: c4

    expire_time_column: c5

unique_idx_name_on_key: PRIMARY

1 row in set (0.00 sec)


ERROR: 

No query specified


7.memcache 默认端口11211,可以修改

[root@mysql5 ~]# netstat -antp|grep 11211

tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      4241/mysqld         

tcp        0      0 :::11211                    :::*                        LISTEN      4241/mysqld         


8.安装测试命令

# yum install telnet nc


9.使用telnet 进行读写

[root@mysql5 ~]# telnet localhost 11211

Trying ::1...

Connected to localhost.

Escape character is ‘^]‘.

get AA

VALUE AA 8 12

HELLO, HELLO

END

set BB 10 0 16

GOODBYE, GOODBYE

STORED


10.验证数据是否修改

(root@localhost) [test]> select * from demo_test;

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

| c1 | c2               | c3   | c4   | c5   |

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

| AA | HELLO, HELLO     |    8 |    0 |    0 |

| BB | GOODBYE, GOODBYE |   10 |    1 |    0 |   --数据已修改

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


具体理论看官方文档

http://dev.mysql.com/doc/refman/5.7/en/innodb-memcached.html

mysql 5.7 innodb memcached plugin 支持内存数据库