centos6.4配置mysql+memcached
2017-01-16 09:45
211 查看
操作系统:CentOS6.4 64bit
mysql:5.1.66
1、安装libevent和memcached
2、下载并安装libmemcached-0.34
0.37以后的版本,memcached_functions_mysql-1.0与之memcached.h不匹配,会有以下错误
servers.c: In function ‘memc_servers_set’:
servers.c:121: error: ‘memcached_st’ has no member named ‘hosts’
./configure --prefix=/usr/local/libmemcached34 --with-memcached=/usr/bin/memcached
make && make install
echo "/usr/local/libmemcached34" > /etc/ld.so.conf.d/memcached-x86_64.conf
ldconfig
3、下载并安装memcached_functions_mysql-1.0
要安装mysql-devl 编译memcached_functions_mysql-1.0需要mysql的头文件
./configure --prefix=/usr/local/memcache_functions_mysql-1.0 --with-mysql=/usr/bin/mysql_config --with-libmemcached=/usr/local/libmemcached34
make && make install
4、将memcached_functions_mysql-1.0源码下的function拷贝到mysql的plugin
cp sql/libmemcached_functions_mysql.* /usr/lib64/mysql/plugin/
5、将function导入mysql
memcached_functions_mysql-1.0安装包目录下有个sql目录,将两个sql脚本install_functions.sql和trigger_fun.sql导入mysql
cd /home/memcached_functions_mysql-1.0/sql;
mysql> source install_functions.sql;
mysql> source trigger_fun.sql;
mysql> select * from mysql.func;
+------------------------------+-----+---------------------------------+----------+
| name | ret | dl | type |
+------------------------------+-----+---------------------------------+----------+
| memc_add | 2 | libmemcached_functions_mysql.so | function |
| memc_add_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_servers_set | 2 | libmemcached_functions_mysql.so | function |
| memc_server_count | 2 | libmemcached_functions_mysql.so | function |
| memc_set | 2 | libmemcached_functions_mysql.so | function |
| memc_set_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_cas | 2 | libmemcached_functions_mysql.so | function |
| memc_cas_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_get | 0 | libmemcached_functions_mysql.so | function |
| memc_get_by_key | 0 | libmemcached_functions_mysql.so | function |
| memc_get_cas | 2 | libmemcached_functions_mysql.so | function |
| memc_get_cas_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_delete | 2 | libmemcached_functions_mysql.so | function |
| memc_delete_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_append | 2 | libmemcached_functions_mysql.so | function |
| memc_append_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_prepend | 2 | libmemcached_functions_mysql.so | function |
| memc_prepend_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_increment | 2 | libmemcached_functions_mysql.so | function |
| memc_decrement | 2 | libmemcached_functions_mysql.so | function |
| memc_replace | 2 | libmemcached_functions_mysql.so | function |
| memc_replace_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_servers_behavior_set | 2 | libmemcached_functions_mysql.so | function |
| memc_servers_behavior_get | 0 | libmemcached_functions_mysql.so | function |
| memc_behavior_set | 2 | libmemcached_functions_mysql.so | function |
| memc_behavior_get | 0 | libmemcached_functions_mysql.so | function |
| memc_list_behaviors | 0 | libmemcached_functions_mysql.so | function |
| memc_list_hash_types | 0 | libmemcached_functions_mysql.so | function |
| memc_list_distribution_types | 0 | libmemcached_functions_mysql.so | function |
| memc_udf_version | 0 | libmemcached_functions_mysql.so | function |
| memc_libmemcached_version | 0 | libmemcached_functions_mysql.so | function |
| memc_stats | 0 | libmemcached_functions_mysql.so | function |
| memc_stat_get_keys | 0 | libmemcached_functions_mysql.so | function |
| memc_stat_get_value | 0 | libmemcached_functions_mysql.so | function |
+------------------------------+-----+---------------------------------+----------+
6、启动memcached
memcached -d -u root
7、mysql配置memcached // 注意:这个步骤,每次重启mysql之后,都要执行
mysql> use test;
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
mysql> select memc_servers_set('127.0.0.1:11211');
+-------------------------------------+
| memc_servers_set('127.0.0.1:11211') |
+-------------------------------------+
| 0 |
+-------------------------------------+
1 row in set (0.00 sec)
mysql> select memc_servers_behavior_set('MEMCACHED_BEHAVIOR_NO_BLOCK','1');
+--------------------------------------------------------------+
| memc_servers_behavior_set('MEMCACHED_BEHAVIOR_NO_BLOCK','1') |
+--------------------------------------------------------------+
| 0 |
+--------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select memc_servers_behavior_set('MEMCACHED_BEHAVIOR_TCP_NODELAY','1');
+-----------------------------------------------------------------+
| memc_servers_behavior_set('MEMCACHED_BEHAVIOR_TCP_NODELAY','1') |
+-----------------------------------------------------------------+
| 0 |
+-----------------------------------------------------------------+
1 row in set (0.00 sec)
8、测试
mysql> create table test(id int, value varchar(100));
Query OK, 0 rows affected (0.06 sec)
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| test |
| urls |
+----------------+
2 rows in set (0.00 sec)
mysql> create trigger mem_test_insert after insert on test for each row set @tmp=memc_set(NEW.id,NEW.value);
Query OK, 0 rows affected (0.04 sec)
mysql> create trigger mem_test_delete before delete on test for each row set @tmp=memc_delete(OLD.id);
Query OK, 0 rows affected (0.04 sec)
mysql> create trigger mem_test_update after update on test for each row set @tmp=memc_set(NEW.id,NEW.value);
Query OK, 0 rows affected (0.04 sec)
mysql> insert into test values (1, "aa"),(2,"bb");
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select memc_get("1");
+---------------+
| memc_get("1") |
+---------------+
| aa |
+---------------+
1 row in set (0.00 sec)
mysql> select memc_get("2");
+---------------+
| memc_get("2") |
+---------------+
| bb |
+---------------+
1 row in set (0.00 sec)
9、telnet测试
在win7上telnet memcached端口
输入get 1,得到aa
mysql:5.1.66
1、安装libevent和memcached
2、下载并安装libmemcached-0.34
0.37以后的版本,memcached_functions_mysql-1.0与之memcached.h不匹配,会有以下错误
servers.c: In function ‘memc_servers_set’:
servers.c:121: error: ‘memcached_st’ has no member named ‘hosts’
./configure --prefix=/usr/local/libmemcached34 --with-memcached=/usr/bin/memcached
make && make install
echo "/usr/local/libmemcached34" > /etc/ld.so.conf.d/memcached-x86_64.conf
ldconfig
3、下载并安装memcached_functions_mysql-1.0
要安装mysql-devl 编译memcached_functions_mysql-1.0需要mysql的头文件
./configure --prefix=/usr/local/memcache_functions_mysql-1.0 --with-mysql=/usr/bin/mysql_config --with-libmemcached=/usr/local/libmemcached34
make && make install
4、将memcached_functions_mysql-1.0源码下的function拷贝到mysql的plugin
cp sql/libmemcached_functions_mysql.* /usr/lib64/mysql/plugin/
5、将function导入mysql
memcached_functions_mysql-1.0安装包目录下有个sql目录,将两个sql脚本install_functions.sql和trigger_fun.sql导入mysql
cd /home/memcached_functions_mysql-1.0/sql;
mysql> source install_functions.sql;
mysql> source trigger_fun.sql;
mysql> select * from mysql.func;
+------------------------------+-----+---------------------------------+----------+
| name | ret | dl | type |
+------------------------------+-----+---------------------------------+----------+
| memc_add | 2 | libmemcached_functions_mysql.so | function |
| memc_add_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_servers_set | 2 | libmemcached_functions_mysql.so | function |
| memc_server_count | 2 | libmemcached_functions_mysql.so | function |
| memc_set | 2 | libmemcached_functions_mysql.so | function |
| memc_set_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_cas | 2 | libmemcached_functions_mysql.so | function |
| memc_cas_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_get | 0 | libmemcached_functions_mysql.so | function |
| memc_get_by_key | 0 | libmemcached_functions_mysql.so | function |
| memc_get_cas | 2 | libmemcached_functions_mysql.so | function |
| memc_get_cas_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_delete | 2 | libmemcached_functions_mysql.so | function |
| memc_delete_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_append | 2 | libmemcached_functions_mysql.so | function |
| memc_append_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_prepend | 2 | libmemcached_functions_mysql.so | function |
| memc_prepend_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_increment | 2 | libmemcached_functions_mysql.so | function |
| memc_decrement | 2 | libmemcached_functions_mysql.so | function |
| memc_replace | 2 | libmemcached_functions_mysql.so | function |
| memc_replace_by_key | 2 | libmemcached_functions_mysql.so | function |
| memc_servers_behavior_set | 2 | libmemcached_functions_mysql.so | function |
| memc_servers_behavior_get | 0 | libmemcached_functions_mysql.so | function |
| memc_behavior_set | 2 | libmemcached_functions_mysql.so | function |
| memc_behavior_get | 0 | libmemcached_functions_mysql.so | function |
| memc_list_behaviors | 0 | libmemcached_functions_mysql.so | function |
| memc_list_hash_types | 0 | libmemcached_functions_mysql.so | function |
| memc_list_distribution_types | 0 | libmemcached_functions_mysql.so | function |
| memc_udf_version | 0 | libmemcached_functions_mysql.so | function |
| memc_libmemcached_version | 0 | libmemcached_functions_mysql.so | function |
| memc_stats | 0 | libmemcached_functions_mysql.so | function |
| memc_stat_get_keys | 0 | libmemcached_functions_mysql.so | function |
| memc_stat_get_value | 0 | libmemcached_functions_mysql.so | function |
+------------------------------+-----+---------------------------------+----------+
6、启动memcached
memcached -d -u root
7、mysql配置memcached // 注意:这个步骤,每次重启mysql之后,都要执行
mysql> use test;
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
mysql> select memc_servers_set('127.0.0.1:11211');
+-------------------------------------+
| memc_servers_set('127.0.0.1:11211') |
+-------------------------------------+
| 0 |
+-------------------------------------+
1 row in set (0.00 sec)
mysql> select memc_servers_behavior_set('MEMCACHED_BEHAVIOR_NO_BLOCK','1');
+--------------------------------------------------------------+
| memc_servers_behavior_set('MEMCACHED_BEHAVIOR_NO_BLOCK','1') |
+--------------------------------------------------------------+
| 0 |
+--------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select memc_servers_behavior_set('MEMCACHED_BEHAVIOR_TCP_NODELAY','1');
+-----------------------------------------------------------------+
| memc_servers_behavior_set('MEMCACHED_BEHAVIOR_TCP_NODELAY','1') |
+-----------------------------------------------------------------+
| 0 |
+-----------------------------------------------------------------+
1 row in set (0.00 sec)
8、测试
mysql> create table test(id int, value varchar(100));
Query OK, 0 rows affected (0.06 sec)
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| test |
| urls |
+----------------+
2 rows in set (0.00 sec)
mysql> create trigger mem_test_insert after insert on test for each row set @tmp=memc_set(NEW.id,NEW.value);
Query OK, 0 rows affected (0.04 sec)
mysql> create trigger mem_test_delete before delete on test for each row set @tmp=memc_delete(OLD.id);
Query OK, 0 rows affected (0.04 sec)
mysql> create trigger mem_test_update after update on test for each row set @tmp=memc_set(NEW.id,NEW.value);
Query OK, 0 rows affected (0.04 sec)
mysql> insert into test values (1, "aa"),(2,"bb");
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select memc_get("1");
+---------------+
| memc_get("1") |
+---------------+
| aa |
+---------------+
1 row in set (0.00 sec)
mysql> select memc_get("2");
+---------------+
| memc_get("2") |
+---------------+
| bb |
+---------------+
1 row in set (0.00 sec)
9、telnet测试
在win7上telnet memcached端口
输入get 1,得到aa
相关文章推荐
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4 Nginx + PHP-FPM + MySQL 环境配置
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL) 详细出处参考:http://www.jb51.net/article/37987.htm
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4 yum安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- CentOS6.4 配置mysql服务器启动多个端口,同步单表数据