ラベル mysql の投稿を表示しています。 すべての投稿を表示
ラベル mysql の投稿を表示しています。 すべての投稿を表示

2017年6月8日木曜日

Laravelを Github + Circle CIで CIするまでの参考サイトまとめ


Laravel

前にメモしたリンク集。
floatingdays: 初めてのLaravel参考サイト
floatingdays: Laravelと Vue.jsのチュートリアル参考サイト

MySQL5.6以前だと出るエラーの対処方法。
他にもやり方はあるみたいだけど、ここのが公式?
Laravel 5.4: Specified key was too long error - Laravel News

テストを書くチュートリアル。
Laravel5.3以前の記事のようで、Laravel5.4からはページ遷移やページ内のテストは別途インストールが必要なLaravel Duskの管轄に変わったので、その部分は読み替えが必要。
Laravelでテストコードを書くためのチュートリアル - Qiita


Github

Githubを二要素認証にして、かつ、Githubへのpushをsshではなくhttpsでする方法。
ユーザー名とトークンの入力省略も。
https+アクセストークンを使ってGitHubのアカウントを使い分ける - Qiita

同じく入力省略について、こちらは.netrcに書く方法。
[Git][GitHub]GitHubにPushする際に認証失敗する | DevAchieve


Circle CI

DBまわりの設定。
seedはtest内でやるなら設定ファイルには要らないかも。
CircleCiでLaravelのMySQLを使ったテストを実行する - Qiita

APP_KEYをcircle.ymlに定義しないとエラーになるので書いておく。
エラーメッセージが分かりづらい → "RuntimeException: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths."
Laravel アプリケーションを、 Circle CI 経由で AWS ElasticBeanstalk に自動デプロイ - Qiita

Circle CIで使えるPHPのバージョンの参考ページのリンクなど。
PHPプロジェクトにおけるCircle CIの設定 - Qiita

Circle CIからプロジェクトを削除せずにGithubからプロジェクトを削除すると、Circle CI側で削除できなくなる(ずっと読み込み中になる)。
対策は、Githubに同名のプロジェクトを作ればCircle CIから削除できるようになる。
相羽 大輔 (Daisuke AIBA)さんのツイート: "さっきの件、解決。CircleCIに登録したプロジェクトを削除するには「Project Settings > Stop Building on CircleCI」GitHub側で先に消すとCircleCIのプロジェクト設定が触れなくなるので注意。 #kzrb"

2016年10月30日日曜日

MySQLへの接続の暗号化



基本
MySQLでSSLクライアント証明書を使う - Qiita

※MySQL側のCommon Nameはサーバのホスト名にする


暗号化されていることを確認するSQL
show status like'Ssl_cipher';
MySQL5.6での注意点 MySQL 5.6でSSL接続が有効にならない・クライアントからSSL接続できない。 - ah-2 WindowsのMySQL Query Browserでは、caだけでなく、下記の全てを指定しないと接続できないようだ。
USE_SSL => "Yes" SSL_CA => ca.crtのファイルパス SSL_CERT => client.crtのファイルパス SSL_KEY => client.keyのファイルパス
ファイルパスのバックスラッシュ(¥)はバックスラッシュのままでも、スラッシュにしてもどちらでもOK。 ファイルパスのスペースが含まれていてもOK。 ca.crtは、server.crtとclient.crtの中身を合わせる必要はないようだ。 参考:MySQL :: MySQL Administrator :: 21.4.1 SSL Connections REQUIRE SSLなユーザーだと、MySQL Query Browserの上部メニューからのMySQL Administratorの起動や、逆にMySQL AdministratorからMySQL Query Browserの起動ができない。(直接起動すれば起動できる。)

2016年7月16日土曜日

Ansibleや Itamaeで LAMP環境を作る

参考サイトのメモ。
Itamaeの方がいいかな。


Ansible

Ansibleのインストールと、ごく簡単なplaybook
VagrantとAnsibleでCentOSの環境を用意してみる - yk5656 diary

LAMP環境を作成
AnsibleでとりあえずのLAMP環境してみる - yk5656 diary

PHPをインストール
Ansible でインストール (php 5.6) - Qiita



Itamae

Itamaeのインストール、ごく簡単なレシピ、リモートサーバへの適用
Itamae on AWS - Itamae の EC2 へのインストールとレシピ適用 - - Qiita

レシピの書き方など
Chef脱落者が、Itamaeで快適インフラ生活する話 - Qiita
itamae 入門 - Qiita
Itamaeチートシート - Qiita
vagrantとitamaeによるLAMP環境構築 - Qiita
EC2 のインスタンスを Itamae でプロビジョニングした | mizoguche.info

設定値をJSONまたはYAMLに切り出す
第3回 ノード属性で汎用的なレシピを書く:Itamaeが構成管理を仕込みます! ~新進気鋭の国産・構成管理ツール~|gihyo.jp … 技術評論社

公式ドキュメント(英語。詳細は載ってない)
Home · itamae-kitchen/itamae Wiki · GitHub

公式ドキュメントが想像よりそっけないので、詳細は他のブログ等やQiitaで調べながら...。まあシェルコマンドが使えるから汚い書き方でいいならどうにでもなるけど。

2016年1月9日土曜日

EC2の MySQLを S3にバックアップする方法(世代管理付き)


S3への送信はaws-cliが良さそう。
参考:aws-cli - AWS CLIでS3を操作する - Qiita


aws-cliはAmazon Linuxなら最初から入っているが、手元のインスタンスはconfigure等をするにはバージョンアップが必要だった。
yumでもバージョンアップできるが、今回は諸事情により依存関係のある諸々をそっとしておきたかったので、下記を参考にyumを使わずにaws-cliをバージョンアップ。

参考:AWSCLIで運用検討中の人必見! AWSCLIを使用したS3へのファイルコピー | クラウド工房 Powered by Amazon Web Services

sudo easy_install pip
sudo pip install awscli -U


IAMでS3のみに権限を絞り込んだユーザーを作り、その認証情報をconfigure。(もう少し権限を絞っても良いかも。)

aws configure
↓
AWS Access Key ID [None]: (アクセスキーを入力)
AWS Secret Access Key [None]: (シークレットアクセスキーを入力)
Default region name [None]:
Default output format [None]:


世代管理はS3の機能であるバージョニングとライフサイクルを使う。
S3でバケットを作成し、バージョニングを有効化。
ライフサイクルでルールを追加。(例「以前のバージョン」を30日後に削除)


後は適当にダンプとS3へのコピーのスクリプトを作ってcronに登録する。
分かりやすいようにディレクトリを作成し、そこにスクリプトを作った。

バックアップ用スクリプト作成。
vi backup.sh
↓
#!/bin/sh
echo "START " `date +'%Y/%m/%d %H:%M:%S'`
MYSQL_PWD='MySQLのパスワード' mysqldump -u MySQLのユーザー 対象DB > data.dump
aws s3 cp data.dump s3://バケット名/
echo "E N D " `date +'%Y/%m/%d %H:%M:%S'
(パスワード直書きにしたが、きちんとやるならMySQLのパスワードは隠したい。)

スクリプトのファイルに実行権限を付ける。
chmod 700 backup.sh

cronに登録。
crontab -e
↓
0 1 * * * cd /スクリプトのディレクトリ; ./backup.sh >> history.log


aws-cliを使うと、AWSのサービス間の通信はSSL(TLS?)で暗号化されるようだ。
参考
aws — AWS CLI 1.9.17 Command Reference
By default, the AWS CLI uses SSL when communicating with AWS services.

Amazon Web Service aws cliはデフォルトで暗号化通信されるのか? - なぜか数学者にはワイン好きが多い



S3を使わずにサーバ上で世代管理するだけなら、下記が一番分かりやすかった。
mysqldumpをcronで1日1回取得し、バックアップ用ファイルを保存する - サイト制作の豆知識

2013年11月9日土曜日

MySQLで 「ERROR 2006 (HY000) at line xxx MySQL server has gone away」

調べたことをメモしておく。


mysqldumpでエクスポートした1GB余りのデータをインポートする時に、下記エラーが発生。

ERROR 2006 (HY000) at line 351 MySQL server has gone away

対策
↓
インポート時に「MySQL server has gone away」が発生したときの対処 | 南紀熊野ウェブサービス(大阪、新宮市)

max_allowed_packet = 32M

↓

今度は下記エラーが発生。

ERROR 2013 (HY000) at line xxx: Lost connection to MySQL server during query

対策
↓

Importing 1GO SQL File => ERROR 2013 (HY000) at line 23: Lost connection to MySQL server during query - Stack Overflow

max_allowed_packet = 1100M
net_write_timeout = 300

↓

駄目。次。

ERROR 2013 (HY000): Lost connection to MySQL server during query - MySQL

innodb_force_recovery = 4

↓

下記エラー。

ERROR 1051 (42S02) at line xx: Unknown table 'xxxxx.xxxxx'

↓

これは?

ERROR 2013 (HY000): Lost connection to MySQL server during query - Dev Shed

innodb_force_recovery = 3

↓

同じエラー。innodb_force_recoveryはやめる。

↓

MySQL Lists: mysql: Re: ERROR 2013 (HY000): Lost connection to MySQL server during query

connect_timeout = 6000

単位は秒?

↓

駄目。

↓

【結論】原因は、メモリ不足だった。

2013年7月5日金曜日

MySQL 5.6を RPMからインストール

現時点でyumに無いMySQL5.6をAmazon Linuxにインストールするメモ。
バージョン番号は現時点での最新版なので必要に応じて読み替えること。


インストール

  1. yum install MySQL-*.rpm

chkconfigに登録しようと見てみたら、もうmysqlが登録されてた。


初期設定


2011年11月14日月曜日

PDOでテーブルの列名を全て取得する方法

テーブルの列名を取得するには、MySQLならDESCRIBEで簡単にできるが、PostgreSQLだとpg_attributeカタログから取得しないといけないらしい。

でもPDOを使えばMySQLでもPostgreSQLでも取得できた。

$pdo = new PDO("$driver:dbname=$db", $user, $password);
$pdoStatement = $pdo->query("SELECT * FROM $table_name LIMIT 0");

$columns = array();

for ($i = 0; $i < $pdoStatement->columnCount(); $i++) {
    $meta = $pdoStatement->getColumnMeta($i);
    $columns[] = $meta['name'];
}

var_dump($columns);

もしテーブルに1行以上データがあることが保証されているなら普通に1行SELECTして連想配列の列名見れば済む話だが、データなしでも動くようにしたらこうなった。


ただし、PDOStatement->getColumnMeta()のマニュアルを見ると、
この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。
PDO ドライバの全てが PDOStatement::getColumnMeta(). をサポートしているわけではありません。
と書いてあり、PHPやDBのバージョンによっては上手く動かないかもしれないが、とりあえず手元の環境では動いた。


これでPHPでO/R Mapperを作りたい人も安心だ。

2011年10月3日月曜日

MySQLの dumpと restore


文字コード設定がされていないサーバからダンプする時に文字化けすることの対策のメモ。


dump

mysqldump -u user_name -p --compact --default-character-set=binary db_name > dump.sql

restore
DB(Schema)を作ってから、
sed 's/latin1/utf8/g' dump.sql > dump_utf8.sql
mysql -u user_name -p db_name < dump_utf8.sql

バイナリで出して文字コードの記述を置換してから取り込む。


参考

2011年3月25日金曜日

プログラム言語とフレームワークのオンラインマニュアル29選


Webで公開されている、プログラム言語・フレームワーク・DBのマニュアル(リファレンス)サイトへのリンクをまとめてみた。
選んだ基準は、できるだけ日本語で、なるべく分かりやすいこと。それを満たすなら公式リファレンスより非公式のものを優先している。



JavaScriptのマニュアルは他にも色々あり、使う人のレベルや用途によってどれが使いやすいかが変わってくると思うが、昔大変参考にさせて頂いた杜甫々版を挙げておいた。

Python、Perl、Objective-Cについては公式/準公式のリンクを書いたが、有志によるマニュアルでもっと良いものがあるのかもしれない。(これらの言語はあまり使わないので知らない。)

2011年3月18日金曜日

AWS CloudFormationで PHP Hello World Applicationを作成してみた

AWS(Amazon Web Services)のCloudFormationの「PHP Hello World Application」に関する情報があまりないので試してみた。


まずはAWS Management Consoleから「PHP Hello World Application + SSH enabled」のstackを作成。
場所はAsia/Pacific 東京リージョンを選択できた。
インスタンスタイプはMicroインスタンス、OperatorEmailには自分のメールアドレスを記入した。


しばらくすると、こんなのが作成された。

  • S3
    • 空のバケットが作成された(バックアップ用?)
  • EC2
    • Root Device Typeがebsのインスタンスが1つ作成された
    • EBSのCapacityは8GiB
    • Security Groupが1つ作成された
      • SSHとHTTP(ポート番号は8888)のポートで、ともにIPアドレス制限無し
    • Load Balancerが起動した
      • 80番ポートを待ち受けてインスタンスの8888番ポートに向ける
    • Elastic IPは作成されなかった
  • CloudWatch
    • Alarmが3つ作成された
      • RequestLatencyAlarmHigh
      • CPUAlarmHigh
      • TooManyUnhealthyHostsAlarm
    • 閾値に達したら登録したメールアドレスにメールで知らせてくれるようだ
  • CloudFormation
    • stackが1つ作成された(そりゃそうだ)
  • RDS
    • DB Instanceが1つ作成された
      • DB Engine Versionは5.1.50
      • DB Instance Classはdb.m1.small
      • DB Storageは5GiB
      • Backup Windowは15:00~15:30(日本時間?)
      • Maintenance Windowは日曜14:00~14:30(これも日本時間?)
    • DB Security Groupが1つ作成された
      • 上記のEC2 Security Groupが適用されている
    • DB Parameter Groupのcharacter_set関連は「engine-default」になっているが、UTF-8使えるのかな?
  • SNS
    • CloudWatchのメール通知用のTopicが1つ作成された


EC2のLoadBalancerのドメインにHTTPでアクセスすると、Wellcomeメッセージとともにphpinfoが表示された。
phpinfoによるとバージョンは下記の通り。
  • Apache : 2.2.16
  • PHP : 5.3.3

SSHでアクセス(SSHのログインユーザーはrootでなく"ec2-user"なので注意。"ec2-user"はsudoができる)してみると、/var/www/html の中には index.php しかなかった。
ユーザー"ec2-user"のviはPHPのソースがハイライトされて見やすい。(少し目がチカチカするが。)

PHP拡張については主なものは入っているが、mbstringが入っていない。
yumで入れたら普通にインストールできた。
sudo yum install php-mbstring

mbstringを有効にするためにApacheを再起動。
すると、アクセスできなくなった。EC2のLoadBalancerからインスタンスが外れている。
SNSからのアラートメールもいくつも送られてきてる。

調べてみると、httpd.confでポート番号が80になっていた。
8888に変更して再起動。

これでアクセスできるようになった。mbstringも使えるようになった。


使い終わったら、AWS Management ConsoleでCloudFormationのstackを削除。
するとCloudFormationが作った一連のものをきれいに削除してくれた。
例外はS3で、S3だけはバケットが残っていた。


あとこれは今回の調査に直接関係ないが、AWS Management ConsoleのS3とEC2が重くなった気がする。(この前の改善の影響?)


結論
ささっとPHP実行環境を作りたいなら、これもありかもしれないと思った。
RDSを使いたいかどうかは状況によるけど、CloudWatchとかSNSの設定が楽なのは便利そう。

2010年10月26日火曜日

ファイル1つだけで出来ている 便利なPHP製ツールいろいろ

PHPライブラリは新時代に入った。定番だったphpMyAdminやPEAR::Mailはもう古い。最近は1ファイル配置するだけで簡単に使える便利なツールが増えてきた。

例えばこんなの。



次は1ファイルのフレームワークだね。(Google Code上にはもうたくさん公開されてるけど...)
あるいは1ファイルのブログシステムやWikiか?

2010年6月14日月曜日

システム開発で使うオンラインの日本語マニュアル



意外とマニュアル内検索が無かったり、あっても検索しづらかったりすることが少なくない。
また、普通にGoogle検索から探そうとすると古いマニュアルばかりヒットすることも(Postgresとか)。
素直に英語のマニュアルで調べればいいんだろうけど...

2010年5月28日金曜日

SQLの集計関数で NULLを含む列を集計する場合の注意点

MySQLとPostgreSQLの話。他のRDBMSは試してない。


SQLでNULLを含む列を集計する場合、NULLの行は無視される。

SELECT
  SUM(t.v) -- => 15
, MIN(t.v) -- => 0
, MAX(t.v) -- => 10
, COUNT(t.v) -- => 3 (NULLの行も入れれば4行)
, AVG(t.v) -- => 5.0000 (NULLの行をゼロと考えれば3.75)
FROM (
  SELECT NULL v
  UNION
  SELECT 0 v
  UNION
  SELECT 5 v
  UNION
  SELECT 10 v
) t
(PostgreSQL 8.4とMySQL 5.1で確認。)


SUM()やMIN()、MAX()では問題ないが、COUNT()やAVG()ではNULLの行の分も含めて計算したい場合に困る。

そういう場合、COALESCE()でNULLをゼロに変換するとよい。
SELECT
  COUNT(COALESCE(t.v, 0)) -- => 4
, AVG(COALESCE(t.v, 0)) -- => 3.7500
FROM (
  SELECT NULL v
  UNION
  SELECT 0 v
  UNION
  SELECT 5 v
  UNION
  SELECT 10 v
) t

MySQLの場合はIFNULL()でもOK。


参考
PostgreSQL: Documentation: Manuals: PostgreSQL 8.4: Conditional Expressions
MySQL :: MySQL 5.5 Reference Manual :: 11.2.3 Comparison Functions and Operators

2010年4月5日月曜日

サーバサイドJavaScript用ライブラリ

Webサーバ等のサーバサイドの処理をJavaScriptでやるならnode.js




Apacheのモジュールとして使うならv8cgi
  • v8cgi
  • これも(その名の通り)V8を使っている
  • MySQL接続、テンプレート、GDなどいろいろ揃っている
  • 作者はWWW SQL Designerなどを作ったondrej.zaraさん
  • Windows版も(一応)用意されている(現在はproblemeticだそうだ)

2010年3月20日土曜日

Webブラウザで DBを参照・更新・管理できるツールいろいろ

クラウドの時代ですから。

個人的にお薦めなのはAdminer。一般受けしそうなのはSQL Buddy。


MySQL用(上の方が使いやすい)

  • Adminer
    • PHP1ファイルのみ(無理に1ファイルにすることないと思うけど)。設置すれば設定不要ですぐ使える
    • シンプルだが普段使う機能は一通り揃ってる。シンプルだからこそ使いやすい
    • SQLをガリガリ書きたい人にお薦め
    • データのclone(コピー)ができるのが何気に便利
    • 見た目は少々無骨。CSSファイルをダウンロードすればSkinを変えられる
    • 昔はphpMinAdminという名前だったが改名した
    • 通常版より"English only"の方が少しファイルサイズが小さい。そんなに変わらないか
    • ライセンスはApache License
  • Adminer Editor
    • Adminerの簡易版。データの参照・登録・更新・削除だけしかできない
    • 別途Extensionsを用意しないと動かないようだ
    • データをいじるだけならこれでいいかも。逆に、データをいじる以上のこと(テーブルの変更とか、DBのDROPとか)をさせたくないユーザー向けに渡すのにちょうどいい(それを意識して作ったんだと思う)
  • SQL Buddy
  • phpMyAdmin
  • MySQL Quick Admin
    • 見た目はわりと良い。Ajaxでサクサク動く
    • 最初にconfig.phpを編集する必要があるみたい(ログイン機能がうまく動かなかったので)
    • SELECTのSQLを自分で書けない?実用するには辛いかも
    • 最後のUpdateは2007年6月。PHP5.3で動かすとDeprecatedが出る
    • ライセンスは明記されていないが、フォーラムにこんなやり取りが書いてあった
  • PHP Mini Admin for MySQL
  • Webadmin-mysql
    • あまり使われていない?


PostgreSQL用


これらのツールのようにPHPでつくっちゃえば、DB側がバージョンアップしてもphp-pdo/php-mysqlが対応してくれるので、ツール側での対応は特にいらないというのはクライアントアプリのツールには無い利点だと気付いた。

2009年8月12日水曜日

Railsの migration

メモ。


概要:Ruby on Rails : migration 機能でデータベーススキーマを変更する - WebOS Goodies

詳細:Ruby on Rails : migration 機能リファレンス - WebOS Goodies

データ型について等:FFTT : RailsのMigration

MySQLの数値型の:limitについて、上記参考サイトでは桁数を指定するように書いてあるが、手元のRails2.3.3ではバイト数を指定するようだ。
なのでbigintの場合は :limit => 8 にする。


参考:MySQL :: MySQL 5.1 リファレンスマニュアル :: 10.2 数値タイプ

Windows + Ruby 1.8.7 + Rails 2.3.3 + MySQL 5.4.1 環境構築メモ

備忘録として。


前提として、以前Railsを試したことがあるので、下記は事前にインストール済みだった。

  • Ruby 1.8.6(One-Click Installer版)
  • Ruby Gems
  • MySQL 5.4.1(Beta)


やったことの手順
  1. Gemsでインストール済みのgemを全てupdate。Railsが2.3.3になった
  2. Release - Ruby-mswin32 (ja)からWindows用の1.8.7のZIPをダウンロードし解凍、既存のRuby(1.8.6)のフォルダに上書きコピー
    (1.8.6のままではエラーが起きる)
  3. このままではdb:migrateする時に下記のエラーが出る。(MySQLの5.1以降に対応していないらしい)
    rake aborted!
    Mysql::Error: Commands out of sync; you can't run this command now: SHOW TABLES
    そこで、PHP5.2のフォルダからlibmysql.dllをコピーしてきてRubyのbinフォルダに入れると解消した
    (参考:Aptana Forums • View topic - Fixed: Commands out of sync)

2009年2月11日水曜日

MySQLの TEXT型の列に INDEXを付ける

MySQLでTEXT型の列に普通にINDEXを付けようとするとエラーになる。

MySQL Error Number 1170
BLOB/TEXT column 'desc' used in key specification without a key length

が、長さを指定してINDEXを付ければOK。
ALTER TABLE `test`.`members` ADD INDEX `Index_2`(`desc`(100));

長さは255まで。それ以上だとWarningが出て、255になった。
Warning: Specified key was too long; max key length is 767 bytes

複合インデックスに絡めて定義はできないという話もあるが、手元のMySQL5.1では複合INDEXでも問題なくできた。

MySQLの FULLTEXTインデックスと MATCH AGAINSTによる検索

FLLTEXTインデックスについて

  • MyISAMのみ
  • 設定ファイルで検索対象の最低文字数を設定する(デフォルトは4)
    [mysqld]
    ft_min_word_len=1
  • TEXT型の列などにスペース区切り等で区切ったデータを入れ、FULLTEXTインデックスを付与する
  • 該当データが全体の50%を超えるような単語は検索対象から除外されるので注意
  • 日本語でもOK

FULLTEXTインデックスを付与された列は、MATCH AGAINSTによる検索ができる。
SELECT * FROM members
WHERE MATCH keywords AGAINST('メロン');

さらに、マッチはしないが関連しそうなデータも含める「クエリ拡張」というオプションもある。
SELECT * FROM members
WHERE MATCH keywords AGAINST('ソーダ' WITH QUERY EXPANSION);
「注記 :ブラインド クエリ拡張は関連性のない雑多な資料も戻しがちなため、検索フレーズが短い時にだけ使用することをお薦めします」そうだが。


参考:
 MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.7 全文検索関数
 MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.7.2 クエリ拡張を伴う全文検索
 [ヅラド] MySQL を使った全文検索 (Full-Text Search)
 MySQL FULLTEXT + Ngram : LIKE検索より数十倍高速な、お手軽 日本語全文検索 について|blog|たたみラボ

MySQLの query_cache_sizeのチューニング

query_cache_sizeに値を指定することで、MySQLのクエリーをキャッシュさせレスポンスを向上させる。
デフォルトはゼロ。(キャッシュしない。)

現在の状態は下記SQLで取得できる。

SHOW STATUS LIKE 'Qcache_%';

  • Qcache_free_memory・・・キャッシュの空き容量。足りなければ増やす
  • Qcache_lowmem_prunes・・・キャッシュの容量不足で削除されたクエリーの数。これが多い場合もキャッシュサイズを増やす
  • Qcache_free_blocks・・・断片化したキャッシュのブロック。これが多い場合は下記SQLで断片化を解消する(1になる)。
    FLUSH QUERY CACHE;


キャッシュに関する状態は、MySQL Administratorでも見られる。


参考:
 [ThinkIT] 第6回:query_cache_sizeの違いによるパフォーマンス比較 (1/3)
 もろもろメモ : MySQL cache "query_cache_size" の設定

ブログ アーカイブ

tags