モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

MySQL InnoDB Memcached Plugin の簡単な使い方

モーダルを閉じる

ステッカーを選択してください

お支払い手続きへ
モーダルを閉じる

お支払い内容をご確認ください

購入商品
」ステッカーの表示権
メッセージ
料金
(税込)
決済方法
GooglePayマーク
決済プラットフォーム
確認事項

利用規約をご確認のうえお支払いください

※カード情報はGoogleアカウント内に保存されます。本サイトやStripeには保存されません

※記事の執筆者は購入者のユーザー名を知ることができます

※購入後のキャンセルはできません

作成日作成日
2015/06/05
最終更新最終更新
2017/09/09
記事区分記事区分
一般公開

目次

    MySQLの運用やレプリケーション設定など、実用的なノウハウを共有します。

    MySQL の InnoDB ストレージエンジンに直接 memcached プロトコルで高速にアクセスするためのプラグインが存在します。仕組みは MySQL HandlerSocket Plugin と似ています。図解した公式ページはこちらです。MySQL 5.6 を対象として簡単に使い方をまとめます。

    参考ページ

    MySQL 5.6 のビルド

    ソースコードから MySQL 5.6 をインストールします。ただし、今回は WITH_INNODB_MEMCACHED を ON にセットしてビルドする必要があることに注意してください。

    # cmake . \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.25 \
    -DDEFAULT_CHARSET=utf8 \
    -DWITH_EXTRA_CHARSETS=all \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_PIC=1 \
    -DWITH_INNODB_MEMCACHED=ON  ←これが必要であることに注意
    

    このオプションによって動的リンク用の Shared Library が MySQL のプラグインディレクトリ内にビルドされます。

    • libmemcached.so: the memcached daemon plugin to MySQL.
    • innodb_engine.so: an InnoDB API plugin to memcached.

    Memcached プラグインの有効化

    プラグインの設定テーブルなどを作成する SQL スクリプトを実行します。付随して test という名称のデータベースにサンプルが生成されますので、削除してしまった場合には再作成しておきます。

    mysql> create database if not exists test;
    mysql> source /usr/local/mysql-5.6.25/share/innodb_memcached_config.sql
    

    プラグインをインストールします。

    mysql> install plugin daemon_memcached soname "libmemcached.so";
    

    ちなみに、アンインストールするためには以下のコマンドを実行します。

    mysql> uninstall plugin daemon_memcached;
    

    動作検証

    telnet

    $ telnet 127.0.0.1 11211
    set hello 0 0 8
    12341234
    STORED
    get hello
    VALUE hello 0 8
    12341234
    END
    quit
    

    memcached クライアントコマンド

    インストール

    $ sudo yum install libmemcached
    $ export MEMCACHED_SERVERS=127.0.0.1:11211
    

    読み出し

    $ memcat AA
    HELLO, HELLO
    

    削除

    $ memrm AA
    

    現在のアイテム数などを含むサーバ情報を確認

    $ memstat
    

    テキストの内容を書き込み

    $ echo '123' > /tmp/123.txt
    $ memcp /tmp/123.txt
    $ memcat 123.txt
    123
    

    全削除

    $ memflush
    
    Likeボタン(off)0
    詳細設定を開く/閉じる
    アカウント プロフィール画像

    MySQLの運用やレプリケーション設定など、実用的なノウハウを共有します。

    記事の執筆者にステッカーを贈る

    有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。

    >>さらに詳しくステッカーを贈る
    ステッカーを贈る コンセプト画像

    Feedbacks

    Feedbacks コンセプト画像

      ログインするとコメントを投稿できます。

      ログインする

      関連記事

      • MySQL レプリケーション設定 (2段, 3段)
        MySQL DB サーバは自身へのクエリをバイナリログとして書き出すことができます。レプリケーションとは、追加の MySQL DB サーバが、別の MySQL DB サーバが出力したバイナリログを自分のリレーログとよばれるログにコピーして、更にリレーログに記載されたクエリを自分自身のテーブルに実行する機能です。バイナリログを出力する DB をマスターとよび、自分のリレーログにコピーする DB をス...
        しおまめしおまめ9/7/2021に更新
        いいねアイコン画像0
      • MySQL 5.7 インストール手順
        2016/11/07 時点、多くの環境では yum レポジトリ等に mysql 5.7 が含まれていません。公式ページからダウンロードしてインストールする手順を二つまとめます。 yum レポジトリを追加する手順 [Installing MySQL on Linux Using the MySQL Yum Repository (mysql 5.7)](http://dev.mysql.com/do...
        しおまめしおまめ12/12/2020に更新
        いいねアイコン画像0
      • MyBatis 3 サンプルコード (Java/MySQL/Gradle)
        MyBatis は、JDBC を直接利用せずに、XML ファイル等で用意した SQL 文を利用して DB にアクセスするための Java ライブラリです。内部的には JDBC が利用されているため、JDBC のインストールは必要です。同様のライブラリに Hibernate ORM があります。DB は特に MySQL を対象として、MyBatis バージョン 3 の
        HARUTOHARUTO7/19/2019に更新
        いいねアイコン画像0
      • MySQL HandlerSocket Plugin の簡単な使用方法
        HandlerSocket は MySQL プロセス内のスレッドとして動作する、MySQL の NoSQL フロントエンドです。独自のプロトコルを用いて TCP 通信を行います。SQL 構文の解析が不要、プロトコルがシンプルなどの理由によって、単純な DB アクセスが高速に実行可能になります。MariaDB であれば[標準プラグインとして付属](https://mariadb.co
        しおまめしおまめ9/7/2021に更新
        いいねアイコン画像0
      • Spring Boot から MyBatis を利用するための設定 (Gradle/MySQL)
        MyBatis を Spring Boot で利用するための基本的な設定およびサンプルコードをまとめます。サンプルコードにおいては、特に MySQL を対象とします。 MyBatis Spring-Boot-Starter チュートリアル
        suzusuzu9/4/2021に更新
        いいねアイコン画像0