[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

MySQL5.6上安装memcached插件

我是基础设施团队的 Saito。
最近我沉迷于 awscli 命令。

那么,您使用过
memcached发音:mem-cash-dee memcached 是一个通用的分布式缓存系统。


用于通过在 RAM 中缓存数据和对象来减少数据库负载并加速动态应用程序

2016 年 3 月 22 日是 memcached 推出的第 13 个年头。
memcached 一定会成为您的强大盟友。

*顺便说一句,我喜欢Redis


我们将在 MySQL5.6 上安装 memcached 插件,
假设您通过 ssh 连接到服务器 (使用AWS RDS,memcached插件可以作为一个选项安装,所以很简单......)

安装 MySQL 5.6 版本

首先,让我们安装 MySQL 存储库。

wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm -P /usr/local/src cd /usr/local/src yum -y install mysql-community-release -el6-5.noarch.rpm

接下来,安装 MySQL 服务器。各种调整(/etc/my.cnf)将被省略。

yum -y 安装 mysql-community-server

启动MySQL

/etc/init.d/mysqld 启动

我认为到目前为止一切都很好。启动后,将显示[确定]。

准备必要的文件

现在,检查
innodb_memcached_config.sql 搜索时,最好使用locate 命令。

$ 定位 innodb_memcached_config.sql /usr/share/mysql/innodb_memcached_config.sql

有。这次我们需要这个.sql 文件。

笔记

现在,如果您在此处的步骤中犯了错误,您就会上瘾。
这是因为 MySQL 5.6 中报告了一个错误。

您的 MySQL 服务器上是否有
名为 test 的数据库如果您没有,请务必制作一个。

mysql> 显示数据库;mysql> 创建数据库测试;

如果这里没有准备一个名为test的DB,稍后会出现错误。

导入数据库和表

然后在MySQL控制台上

mysql> 源 /usr/share/mysql/innodb_memcached_config.sql

或者在外壳上

$ mysql < /usr/share/mysql/innodb_memcached_config.sql

让我们进入吧。
如果您在没有创建名为 test 的数据库的情况下运行它,配置将会失败。
(您需要编辑sql文件才能恢复)

$ mysql < /usr/share/mysql/innodb_memcached_config.sql

如果我运行下面的命令,它也会失败,但是如果我在创建 testDB 后再次运行它,它就会被修复。

mysql> 源 /usr/share/mysql/innodb_memcached_config.sql

MySQL 5.6报告的Bug如下。

第 86 行出现错误 1049 (42000):未知数据库“测试”
[2014 年 6 月 9 日 13:20] Daniel Price
在即将发布的 5.7.5 版本中已修复,以下是更改日志条目:

后,“innodb_memcached_config.sql”配置脚本将失败
,该脚本会删除 MySQL
“test”数据库。“innodb_memcached_config.sql”脚本现在会创建
“test”数据库(如果它不存在)。

感谢您的错误报告。参考
Bug #72678 InnoDB Memcached 插件配置 - 测试数据库

如果您担心这个bug,请使用MySQL5.7或
先创建testDB。否则,memcached 进程将不会启动。

现在,当我再次查看数据库时,我发现

mysql> 显示数据库;+--------------------+ | 数据库 | +-------------------- --+ | innodb_memcache | +--------------------+ 5 行 |

添加了 innodb_memcache。
我们也检查一下表格。

mysql> 使用 innodb_memcache; mysql> 显示表; +------------------------+ | Tables_in_innodb_memcache | +------- --------------------+ | 缓存策略 | +------------------- | --------+ mysql> select * from innodb_memcache.containersG **************************** 1.行 *** ************************ 名称:aaa db_schema:测试 db_table:demo_test key_columns:c1 value_columns:c2 标志:c3 cas_column:c4 expire_time_column:c5 unique_idx_name_on_key:主 mysql> SELECT * FROM test.demo_test; +----+--------------------+--------+------+ - -----+ | c2 | c5 | +- -----+------+ | 你好 | 0 | +----+---------------- --- +------+------+------+

测试数据库还包含 memcached 测试表。

安装 memcached 插件

抱歉让您久等了。现在是时候安装插件了。

mysql> 安装插件 daemon_memcached soname "libmemcached.so"; mysql> 显示插件 +-------------------------+--- -- ----+--------------------+----------------+--- -- ----+ | 名称 | 类型 | +------------------------+-- ------+--------------------+----------------+-- -- + |活动|模式 | GPL | 信息模式 | GPL | 存储引擎 | GPL | ----------------------+----------+------------- --- ---+----------------+---------+

看来已经安装成功了。这样就完成了插件的安装。

操作确认

memcached 应该已成功安装。
那么我们如何检查呢?
我很担心,因为启动与正常服务不同。
检查哪些端口打开以及是否有进程。

首先,我们检查一下端口是否开放。

# netstat -lnpt | egrep "(Proto|mysql)" Proto Recv-Q Send-Q 本地地址 外部地址 状态 PID/程序名称 tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 531/mysqld tcp 0 0 : ::3306 :::* 监听 531/mysqld tcp 0 0 :::11211 :::* 监听 531/mysqld

通常 memcached使用端口
11211 mysqld 进程似乎正在运行并且端口已打开。
让我们使用 telnet 检查操作。

# yum -y install telnet $ telnet localhost 11211 尝试 127.0.0.1... 连接到 localhost。转义字符为“^]”。 get foo VALUE foo 0 2 hi END stats STAT pid 8861(等)

它看起来确实有效。

Telnet 用途广泛,但libmemcached也可用,所以让我们尝试使用它。

# yum -y 安装 libmemcached # 导出 MEMCACHED_SERVERS=127.0.0.1:11211 # memcat AA 你好,你好


memslap如果您想了解更多命令,请尝试以下命令。

memcat #读取memrm #删除 memstat #信息 memcp #copy memflush #删除

这次就这样了。

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
1,142
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者