タグ

MySQLに関するyanbowのブックマーク (40)

  • MySQLのメモリ使用量に関するトラブルシューティングTips | Yakst

    MySQLが確保する各種メモリに関するパラメータの概要から、それらがどのように割り当てられるのかを知るための様々な手法まで、Perconaのサポートエンジニアが詳しく解説する。 January 24, 2014 By Nilnandan Joshi 「MySQLサーバのメモリ使用量」に関連するトピックスを書いたブログ記事は既にたくさんあるにも関わらず、MySQLのメモリ関連の問題のトラブルシューティングで混乱しなかった人はいないだろう。Perconaサポートのエンジニアとして、高負荷のサーバに関することや、メモリ使用量高騰でOOM killerが発動してMySQLサーバが停止したこと、あるいは「MySQLがどうしてこんなにメモリをうのか分からない。どうやったら何にメモリが使われてるか分かるんだ?助けてくれ!」と言った問題を数多く見ている。 MySQLのメモリ使用量をチェックする方法はたく

    MySQLのメモリ使用量に関するトラブルシューティングTips | Yakst
  • MySQL5.6のchefの書き方の決定版が出来たので公開する。 - nigoblog

    chefでサーバーの構築をプログラマブルにやるっていうのはもうだいぶ昔から定番になってきています。 今回は特にMySQL 5.6のインストールをchefで行う場合のケースについて書いていきます。 MySQL5.6はインストールがなかなかめんどくさく、chefを使わなくても結構大変です。 だがしかし、度重なる試行錯誤の末、ついにMySQL5.6をchefでインストールする決定版が出来たため、公開しようと思います! ただし、今回はEC2 + RDS等、webサーバーとDBサーバーを分けて、かつEC2(webサーバー)のみにMySQL5.6をインストールする場合のことを書いていきます。 ちなみにserverはCentOSを想定していますのでubuntuの方はすみません そもそもchefとは MySQL5.6を単純にインストールする場合 MySQL5.6をchefでインストールする まとめ そもそ

    MySQL5.6のchefの書き方の決定版が出来たので公開する。 - nigoblog
  • MySQL FULLTEXT Ngram : LIKE検索より数十倍高速な、お手軽 日本語全文検索 について|blog|たたみラボ

    tatamilab.jp

  • MySQLTunerでMySQLのチューニングを診断する方法

    https://github.com/rackerhacker/MySQLTuner-perl MySQLTunerはMySQLのチューニングを診断してくれるアプリケーションです。 基的なパフォーマンスチューニングのヒントをわかりやすく表示してくれます。 MySQLのチューニング設定に不安な方や、はじめてMySQLをさわる方は試してみると良いでしょう。 ライセンスはGNU GPLで無料で使えます。 検証環境 CentOS 6.3(64bit) MySQL 5.5.28 MySQL 5.5をインストール MySQL 5.5をインストールします。 # wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm # wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86

    MySQLTunerでMySQLのチューニングを診断する方法
  • WEBアプリケーションチューニングを始める - Mandy Code

    さてISUCON2も近づいていることですし、チューニングを題材に今実際にWEBアプリを作る中で行なっているチューニングの初歩について書いてみたいと思います。 まず、僕はものすごくMySQLに詳しいわけでもものすごくPerlPHPに精通しているわけでもない、という前提があり、自分で考えたり少ないながらも経験したことをもとにしてチューニングを進めております。 その中で覚書的に、誰でもいますぐ出来る測定方法などを書いておこうかなーと思います。 チューニングにはものすごく大きく分けて2種類あります。 アプリケーションのチューニング インフラレイヤーのチューニング まずはこの2つが効果的なチューニングになります。 この中でもアプリケーションのチューニングのほうが絶大な効果をあげることが多い、とYAPCでfujiwaraさんがおっしゃっていました。 アプリケーションのチューニング ではWEBアプリケ

    WEBアプリケーションチューニングを始める - Mandy Code
  • 解析まで10分!最強のMySQLチューニングツール「Jet Profiler」 - Lancers開発ブログ

    こんにちは、keiです。 今回は、MySQLのチューニングに大活躍な「Jet Profiler」というツールをご紹介します。 Jet Profilerとは Jet Profilerは、MySQL向けのクエリアナライザです。 クエリチューニングは、DBパフォーマンスチューニングの中でも重要な作業の1つですが、 Jet Profilerを使えば、その作業をGUIで直感的に行うことができます。 フリーウェアの形態で提供されており、機能限定版であれば無料で利用することができます。 購入する場合は、$499となります。 詳細情報、ダウンロードは公式ページからどうぞ。 http://www.jetprofiler.com/ja/ Jet Profilerの魅力 その1 導入のしやすさ 通常のWindowマシンに、普通のアプリケーションをインストールする感覚でインストールが可能です。 イン

  • http://www.2ch-search.net/blog/3

    yanbow
    yanbow 2012/06/27
  • MySQLの監視はCacti+Percona Monitoring Pluginsがおすすめ(監視サーバ構築編)

    MySQLの監視はCacti+Percona Monitoring Pluginsがおすすめ(監視サーバ構築編) 2012-05-18 MySQLをリソース監視する仕組みにはいくつかあるが、対象のMySQLサーバが5台以上ある場合はCactiがおすすめ。導入のしやすさだけでMuninを選ぶ人が多い気がするが、その選択基準は間違っている! Cactiのいいとこわるいとこ 多数のグラフを見やすく並べられる muninと比べて多数のサーバから軽快に情報を収集・表示できる 監視対象には、MySQLのユーザを追加するだけでかなりの項目数を監視できる データの保存にデータベースが必須だったりしてセットアップがやや面倒 慣れるまで監視プラグインを書くのに手間取る Muninのいいとこわるいとこ 監視プラグインを書くのが簡単 監視サーバにデータベースなどが必要なく、セットアップが簡単 グラフの並び方などが

  • カジュアルに MySQL を監視する方法 | Carpe Diem

    このエントリーは、MySQL Casual Advent Calendar 2011 – MySQL Casual の第 19 日目のエントリーです。 皆さんこんにちは、n0ts こと、Naoya Nakazawa です。 今日は、みなさん日頃からカジュアルに MySQL を運用して、日々生活されていることと思います。MySQL は、非常に安定したオープンソースソフトウェアだと思いますが、どんなものでもときにはおかしくなったりするものです。 「備えあれば憂いなし」ということで、僕は日頃から Nagios というオープンソースソフトウェアを利用して、MySQL がおかしくなっていかいか日々カジュアルに監視しています。 今日は、カジュアルに MySQL を Nagios を使って監視する方法を紹介したいと思います。なお、今回は CentOS 5.7 x86_64 というカジュアルな Linux

  • 今風のUI。Ajaxを使ったPHPベースのMySQL管理システム·MyWebSql MOONGIFT

    MyWebSqlはAjaxを多用した今風のUIを使ったMySQL管理ツール。 MyWebSqlPHP製のオープンソース・ソフトウェア。PHPと言えばMySQL、その二つの組み合わせから生み出されたphpMyAdmin。LAMPスタックなんて言葉が生み出されたのにphpMyAdminの優秀さがあったことは否定できない。それくらい誰しもが使っているソフトウェアだ。 データ一覧 だが長い年月のうちにUIは古いものになり、ちょっと時代が変わってきているかという気がしなくもない。そこで今のWebに合わせたMySQL管理ツールを紹介しよう。それがMyWebSqlだ。 MyWebSqlはWebアプリケーション風のインタフェースに加えて、UIのデザインもポップで明るい配色になっていて使い勝手が良い。左側にデータベースの一覧、右側でデータの編集を行うスタイルはphpMyAdminと同じだ。さらに下にはSQ

    今風のUI。Ajaxを使ったPHPベースのMySQL管理システム·MyWebSql MOONGIFT
  • はじめての MySQL で100万件のデータを管理する時に行ったチューニングまとめ

    MySQL の勉強をせずにフレームワーク等で SQL を書かずに Web サイトを構築していました。データ数も2万件程度でしたので、そこまで困ることはありませんでしたが、今回100万弱の商品データを扱う機会ができたので、MySQL のチューニングや発行する SQL について見直す機会がありました。 この記事では MySQL を高速化するのに行った対策など勉強したものを自分用にメモしておきました。 条件式で比較するカラムにインデックスを使用して高速化 商品コードで存在しない商品を見つけて、商品をDBに登録するという処理を行っている場合、4万件超えたころから処理に2秒以上かかるようになってきます。12万件超えた頃には10秒程度かかるようになってしまいましたが、商品コードのフィールドに対してカラムインデックスを貼ることで0.2秒に短縮することができました。 MySQL のリファレンスにも以下のよ

  • DBサーバーの負荷分散

    MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する

  • SSHトンネリングに対応したMySQL管理GUIアプリ「MyDB Studio」:phpspot開発日誌

    MyDB Studio: Simplify your MySQL admin ! (Best MySQL front end) SSHトンネリングに対応したMySQL管理GUIアプリ「MyDB Studio」。 フリーでダウンロード可能です。phpMyAdminをSSL経由でたたければいいのですが、SSL導入は証明書や作業コスト等何かと面倒で普通のhttp通信にしちゃってる場合もありそう。 大切なデータを生でネットワークに流すのはあんまりよろしくなさそうで、仮にユーザアカウントテーブルなどを参照した際、パスワードがハッシュ化されていなければそのままデータが漏洩することになりそうですね。 SSHトンネリングならばセキュアな通信が出来る上、なかなか高機能なGUIツールみたいなので、便利に使えそうです。 (追記:phpmyadmin等をポートフォワードしてもいいですね。) サーバにつないでデータ

  • クラウドに最適化したMySQLのフォーク「Drizzle」が正式版公開

    MySQLからフォークし、クラウド用途に最適化して開発された「Drizzle」が3月15日に最初の正式版を公開しました。 MySQLはよく知られたオープンソースのリレーショナルデータベースです。そのMySQLを、トランザクション機能を維持したままクラウドのような大規模分散環境での並列処理とマルチコアCPUに最適化したのが「Drizzle」です。 多くのWebサービスのバックエンドでは、高速なデータベース処理を実現するために多数のMySQLサーバを用いた分散処理をしていますが、Drizzleではそうした用途に特化して設計されています。 NoSQLに対するSQLからの回答 Drizzleは、大規模なWebサービスのバックエンドデータベースとして利用することを想定しているため、Web系サービスのバックエンドとしてはほとんど使われないだろう機能が省かれています。例えば、ACL(アクセス制御リスト)

    クラウドに最適化したMySQLのフォーク「Drizzle」が正式版公開
  • モダンなUIを活用したショッピングサイト運営用phpオープンソース「LiteCommerce」:phpspot開発日誌

    Free Ecommerce CMS solution: software for your online store | LiteCommerce モダンなUIを活用したショッピングサイト運営用phpオープンソース「LiteCommerce」 最近公開されただけあって、アイテムをドラッグ&ドロップでバッグに入れたり、ページ遷移に一部ajaxが使われていたりします。 以下がデモ画面。アイテムや文字が大きく表示されており見やすいのが特徴 デモページはこちら 利用にはPHP5.3以降、MySQL5.0.3以降が必要 関連エントリ PHP製のショッピングカートシステムいろいろ PHPで書かれた次世代のショッピングカートシステム「TomatoCart」 フリーで使えるPHPMySQLで構築されたショッピングカートシステム「Zeuscart」

  • PHP開発者のMySQLの間違いトップ10:phpspot開発日誌

    WindowsアプリのツリービューっぽいUIをWEB上で簡単実装できるjQueryプラ... 次の記事 ≫:シンプルさがいい感じの154種類のアイコンセット Top 10 MySQL Mistakes Made by PHP Developers PHP開発者のMySQLの間違いトップ10。 手慣れている人にとっては知ってることも多いかもしれませんが、初心者が役立ったり、知らない部分のカバーとしてメモとして書いてみます MyISAMを使っている デフォルトはストレージエンジンにMyISAMだけどInnoDBを使おう リカバリ可能でオンラインバックアップ機能、外部キー利用可能なInnoDBおすすめ 詳細:Open database life: MyISAMとInnoDBのどちらを使うべきか PHPMySQL関数を使っている mysql_* 関数を使わず、PDO等でストレージ変更に対応しよう

  • NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現

    モバゲーで知られるDeNAは、バックエンドデータベースにNoSQLを使っていません。なぜか? それはMySQL/InnoDB 5.1の環境で秒間75万クエリという、多くのNoSQLでも実現できないような高性能を実現しているから。DeNAの松信嘉範(まつのぶよしのり)氏は、自身のブログにこんな内容のエントリ「Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server」(英語)をボストしています。 Yoshinori Matsunobu's blog: Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server 松信氏が指摘するように、大規模なネットサービスを提供している企業の多くは分散環境で

    NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現
  • MySQL/SELECT結果でUPDATEする - 俺の基地

    別テーブルの値を使ってデータの一部の値を洗い替えたい タイトルはSELECT結果でUPDATEですがMySQLではそれができません。 でも「SELECT結果でUPDATE」したい場合って、別テーブルの値を使ってデータの一部の一括して値を洗い替えたい状況がほとんどだと思いますので・・・ MySQLのUPDATE構文はそういうことができるようになっている。簡単に言うとデータソースが2つある半分SELECT構文のようなUPDATE文が書ける UPDATE A, B SET A.name = B.name WHERE A.id = B.id こんな感じ。 これだとテーブルA上のレコードとB上のレコードでidが合致するもののnameをBの値で書き換えるということになる。 解釈順番とか考えるとこんがらがってくるが集合として考えると・・・まぁ納得できるかな。 Oracleとかはupdateでもse

    yanbow
    yanbow 2010/09/06
  • MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記

    MySQLでテーブルへのカラム追加、インデックス追加やテーブルの再編成などを行うと、その間テーブルに共有ロックがかかってしまいます。そのためこれらのメンテナンス処理は、通常利用者の少ない深夜早朝帯にサービスを止めて実施する必要があります。日はそれを無停止、オンラインのままでできないかという話題です。 基的なアイデア メンテナンス対象の元テーブルをコピーして、作業用の仮テーブルを作ります 仮テーブルに対して、カラム追加などの変更を加えます その間、元テーブルに対して行われる更新処理について差分を記録しておきます 仮テーブルの変更が終わったら、記録しておいた差分データを仮テーブルに反映します 差分データの反映が終わったら、元テーブルと仮テーブルを入れ替えます これと似たようなことを考えた方は結構いらっしゃるのではないでしょうか。ただ、言うは易し、行うは難しです。整合性がきちんと取れるかどう

    MySQLでサービス停止のないALTER TABLEの検討 - SH2の日記
  • ランキングを取得するSQL | Sun Limited Mt.

    ランキングを取得するSQL です。 同じスコアの場合は同じ順位にするなどの必要があるため結構面倒ですが、 下記SQL でイッパツで取得できます。 実際に携帯ゲームランキングを取得するのに使用しているSQLです。 ranking テーブル CREATE TABLE ranking ( id bigint(20) NOT NULL auto_increment, name varchar(20) NOT NULL, score bigint(20) NOT NULL, ); SQL SELECT r1.name, r1.score, (SELECT count(r2.score) FROM ranking as r2 WHERE r2.score>r1.score)+1 as rank FROM ranking as r1 ORDER BY r1.score DESC LIMIT 10; r