All of Percona’s open-source software products, in one place, to download as much or as little as you need.
![High Availability Options for MySQL - October 2013 Update](https://cdn-ak-scissors.b.st-hatena.com/image/square/b56e86e78d4cf20ae5da5f8f28fac0531d82e826/height=288;version=1;width=512/https%3A%2F%2Fwww.percona.com%2Fblog%2Fwp-content%2Fuploads%2F2020%2F05%2FBlog_SignUp.jpg)
All of Percona’s open-source software products, in one place, to download as much or as little as you need.
米オラクルが主催するMySQLのイベント「MySQL Connect」が9月21日から23日まで、サンフランシスコで開催されました。Oracle OpenWorld、JavaOneとの同時開催でした。 基調講演の1つには、MySQLのヘビーユーザーであるFacebookのHarrison Fisk氏が登壇。FacebookにおけるMySQLの役割、大規模運用の背景などを紹介しています。その内容をダイジェストで紹介しましょう。 MySQL@Facebook Lots and lots of small data Harrison Fisk氏。 Facebookでデータパフォーマンスチームのマネージャをしている。社内ではMySQLはもちろん、HBase Hadoopなどにも関わっている。 まずは、どんな種類のデータをMySQLで扱っているのかについて。 Facebookとは基本的にグラフだ。グ
前提: ゲームに限らずランキング機能が必要になるケースは多い つまり需要はある だが、MySQLで高速なランキング表示は難しい 具体的に言うと、以下の要件を満たすのが不可能 1行の更新コストが要素数Nに対して O(log N) 以下 任意のランキング位置周辺のSELECTコストが O(log N) 以下 ならば、専用のストレージエンジンを作ればいいのではないか いつやるか? 今でしょ! 以下理由 MySQL 5.5以降?だとストレージエンジンをまたぐトランザクションがまともになってるはず*1 ランキング専用でいいから、テーブル構造とか固定でいい(つまり実装が簡単!) ランキング専用だから、テーブル・ロックで十分(つまり実装が簡単!) 更新すると順位がずれる(つまりテーブルの大部分に影響がある)ので行ロック実装するメリットが小さい*2 ランキング専用でいいから、全データをメモリにもっても問題
斎藤です。こんにちは。 今日は、MySQLにてレプリケーション構成において、マスタサーバのフェイルオーバーを司るmysql-master-ha(以下、MHA)を用いる際、マスタサーバ接続先の切り替えにHAProxyを使ってみようというお話です。 ※MHAは0.53.0(公式パッケージ)、MySQLは5.5.25a(Oracle公式パッケージ)、HAProxyは1.4.22(CentOS6標準パッケージ)、OSはCentOS 6.3 x86_64を用いました。 ※MHAによる冗長化およびHAProxyによるMySQLの負荷分散の設定を経験された事がある前提で記述します。 本記事では、次の流れで話題を展開します。 フェイルオーバー時の接続先切り替え方法 構成(参考) なぜHAProxyなのか 切り替え方 2台構成の問題点 その他 コツ 設定(参考) 主にMHA+HAProxyによるフェイルオー
更新が激しいDB(MySQL)でInnoDBのロック競合が発生し、アプリケーションサーバが詰まる状況が発生してしまいました。 障害監視はmonというアプリケーションで行なっているのですが、 今回はこのmonを使ってMySQLデッドロックの検知とロギングを行いたいと思います。 monについては下記の資料をご参照ください。 Mon, Muninによる楽々監視生活 デッドロック解析は下記サイトのSQLを利用しています。 MySQL InnoDBにおけるロック競合の解析手順 前提 ・MONのサーバは既に構築済みであること ・DBサーバはMySQL5.5であること(MySQL5.1+InnoDB pluginでも可) 〜〜〜 以下、監視対象のDBサーバにて作業 〜〜〜 SNMPインストール yum install net-snmplockを検知するスクリプト作成 vim /usr/local/sbi
MySQL-5.5よりRESET SLAVE;の挙動が変わり、直後にCHANGE MASTER構文を 発行しないと場合によっては問題が発生するとMySQLのドキュメントに記載されていました。 さらに、RESET SLAVE ALL;というクエリもサポートされたようです。 どういう事なのでしょう? 調べてみました。 ドキュメントにさらっと何か書いてある In MySQL 5.6 (unlike the case in MySQL 5.1 and earlier), RESET SLAVE does not change any replication connection parameters such as master host, master port, master user, or master password, which are retained in memory. Thi
(↓間違いの訂正アリ↓)第4回大阪MySQL勉強会資料 06/03 修正 ◆@y_catch さん @yoku0825 さんに教えていただいた誤謬の修正 ・「使用権」は誤解を招くと教えていただいたので "「使用」と「利用」""ライセンスの2つの法的根拠"などを修正 また、使用が権利でないことの理解の一助となるよう "「使用」と「利用」とライセンス"のページを追加 ・GPLのバージョンについての情報を追加して、用語はGPLv2へ統一(したつもり) ・"MySQLの著作権"について、教えていただいた情報を元に修正 ◆また、以下も修正 ・発表直前に書き上げたため、推敲せず話の繋ぎがうまくいってない箇所や 分かりにくい説明、見にくいところなどを修正 ・[GNUによる4つの自由]で自由の保障で勘違いしてたところを削除 ・オープンソースライセンスの定義を正しいものに修正 ・時間がなくて機械翻訳のままだ
All of Percona’s open source software products, in one place, to download as much or as little as you need.
少し前ですが4/17に、例によってガチュアルっぽいカジュアルトークが繰り広げられてると予想される「MySQL Casual Talks」の第4回目が開催されました。 駄菓子菓子! 今日、MySQL Casualだったのか。すっかり忘れてたわ・・・。(過去3回皆勤賞)— Y.Namikawa / id:rx7 (@namikawa) April 17, 2013 忘れてた・・・(´・ω・`) ショボーン 過去、MySQL Casualのブログエントリ書き続けているし、今回参加してないけど書いておきたいところだ。そうすることで心は参加。皆勤賞は守られる(違— Y.Namikawa / id:rx7 (@namikawa) April 17, 2013 過去3回とも参加しブログを書いていることもあって、ふとこんなtweetをしたのですが、、、 @namikawa 書いていただけたら次回なんか贈
たくさんのMySQLサーバを運用している際に、一意なserver-idを生成するルールを作っておくと急な負荷上昇でslaveサーバを追加しないと行けなくなった時に、masterや他のslaveのserver-idを調べてユニークなidを考える手間を減らす事ができます。 自分はプライベートIPアドレスの第三オクテットと、第四オクテットを使い server-id = 第三オクテット*256 + 第四オクテット としています。192.168.67.135 なら server-id = 67*256 + 135 = 17287 です。/16 以下のネットワークならIDが被る心配ありません。セットアップツールなどで自動でmy.cnfに入れてしまうこともできると思います。 もし /16 ネットワークよりも大きなネットワークなら第一、第二オクテットも計算に含めればいいんじゃないでしょうか。server-
この記事は、おっさんの自分語りと昔話なので、あまり読む価値はないです。 もう1ヶ月くらい前になるのですが、OSS貢献者賞を頂きました。 最近はあまりOSSに貢献するようなことをしてる自覚はなかったので、なぜ自分が候補にあがったのか謎でした。OSS貢献者賞のページによると、 影響力のある開発プロジェクトを創造、運営した開発者やグローバルプロジェクトにおいて活躍する卓越した開発者及び普及に貢献した方を表彰するもの ということらしいです。創造や運営してないし、たぶん卓越した開発者でもないので、「普及に貢献した」だろうと思い、じゃあ最近のことじゃなくて過去の実績が評価されってことならいいかと、受賞させていただくことにしました。 ちゃんとした受賞理由は発表のページに載るまで知らされてなかったのですが、予想通り MySQL 関係でした。 MySQLの初期の日本語化パッチを作成し、国内での普及に大きく貢
仕事でMySQLのパフォーマンスチューニングをしていて、インデックスについて分かっていないことが多かったので調べたことをメモ。基本的なところから学習しなおした。 MySQLのインデックスは、カラムが特定の値をもつレコードの迅速な検索に使用される。インデックスを使用すれば、数百とか数億ものレコードが入っているテーブルから、一組のレコードを迅速に見つけて取り出すことが可能になる。 しかし、インデックスは速度を改善することもあるが、挿入の邪魔になって遅くなることもある。 インデックスを適切に使うために、まずはインデックスの基本概念をおさえる必要がある。 インデックスの概念 インデックスとは インデックスの仕組みを理解するには、まずMySQLがどのようにクエリに応答するかを知る必要がある。 例えば、 SELECT * FROM phone_book WHERE last_name = 'Hoge'
前回の記事 MySQLをmaster:slave=1:1構成にして参照をslaveに向けるのがなぜ良くないか の続きです。 master : slave = 1 : 1 で参照を slave に分散してもまったく美味しくないわけですが、では参照の負荷分散を行いたい場合の slave は何台で構成するとよいのか考察してみます。具体的には slave 2台の場合と 3台の場合でどちらがお得か。 台数を増やすということは、どこかに障害が発生する確率が高まる、ということです。1台の slave に障害が発生してダウンした場合のことを考えてみます。 slave * 2 → 残り 1台で処理継続 生き残った1台あたりの処理が 2倍になる slave * 3 → 残り 2台で処理継続 生き残った1台あたりの処理が 1.5倍になる たとえば 1台あたり最大 1000qps の処理能力があるとします。sla
新しい機能をリリースした際に、MySQLに対して効率的ではないクエリが発行されてしまって、それが積もってサービス全体に影響が出てしまう前に発見してアラートをあげたい。 発見する手立てとしてはCPU使用率やInnoDBのROW OPERATIONSが考えられるところですが、今回はスロークエリが発生した回数を監視することにした。ちなみにいつものことながら対象とするMySQLは4.0系。long_query_timeがオンラインで変更できません。。。はい MySQLのスロークエリが発生した回数は、show status のSlow_queriesという項目でみることができて mysql> show status like 'Slow_queries'; +---------------+-------+ | Variable_name | Value | +---------------+---
待望のMySQL 5.6が正式にリリースされた。正式版の最初のバージョンは5.6.10である。コミュニティ版(MySQL Community Server)は下記のページからダウンロードできるので、ぜひ今すぐダウンロードして頂きたい。 MySQL Downloads MySQL 5.6のリリースにあわせて、GUIツールであるMySQL Workbenchやドライバも新しいバージョンがリリースされており、MySQL 5.6対応となっている。それらの周辺ソフトウェアもチェックして頂けると幸いである。 新機能について正式版の機能はリリース候補版の頃から特に変更はない。(リリース候補版まで到達したということは、正式版の機能セットは固まったということであり、大きな機能の変更はないことを意味するからだ。)なので新機能については、リリース候補版が出たときに書いたエントリを参照して頂きたい。 漢(オトコ)
MHA for MySQL の導入を検討していて、まずは社内の技術者向けに、MHA for MySQL の概要を伝えようと、主に オフィシャルなドキュメント からポイントを抜粋して社内向けの Wiki に書いてみた。本当なら、オフィシャルドキュメント全体に目を通してもらうのがいいんだけど、英語なので、はじめの一歩としては敷居が高く感じる人もいるだろう、ということで。 特に外に出してまずい情報があるわけでもないので、このブログでも曝しておきます。 MHA の概要 MySQL エキスパートとして世界的にも著名な松信嘉範氏による、MySQL マスターの HA 化を行うためのツール。Perl 製。 最小限のダウンタイムで、データの不整合を防ぎつつ、マスターのフェイルオーバーを行う、というのが主な機能。 また、既に動作している MySQL に影響を与えることなく導入できる。 機能は大きくわけると以下
Full MySQL Support Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL databases. Perfect Web Development Companion Whether you are a Mac Web Developer, Programmer or Software Developer your workflow will be streamlined with a native Mac OS X Application! Flexible Connectivity Sequel Pro gives you direct access to your MySQL Databases on local and remote se
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く