タグ

mysqlとMySQLに関するouestのブックマーク (267)

  • MySQLがおかしい!あなたならどうしますか? – MySQL Casual Advent Calendar 2011 - As a Futurist...

    しわっす!DBA 兼オペレーションエンジニア兼タスクマネージャやってる riywo です。何のネタを書こうかなぁと考えたのですが、正直ネタを仕込む時間もなかったので僕がいつもやってることをさらっと紹介するということで勘弁して下さい>< MySQL がおかしい! 03:14 hidek: なんかエラー出まくってるんだけど! 03:14 zigorou: MySQL と通信してるとこっぽい 03:15 riywo: 見ます こんなやりとりは皆さん日常茶飯事ですよね?ね?ね?こんな時に、DB に責任を持つものとして真っ先に対応するのが僕らの仕事です。でも、じゃあ具体的にこのあと何をしましょう?既にサービスはエラーだらけで一刻を争う状態です。 (対応開始) まずはエラーメッセージ 今回の様な場合はアプリのエラーログにどばっと MySQL に関するエラーが出ているでしょう。まずはそれを見ることが始ま

    MySQLがおかしい!あなたならどうしますか? – MySQL Casual Advent Calendar 2011 - As a Futurist...
  • MySQL Clusterその後(これから使ってみようと思っているみんなに): zak blog

    以前に書いた、MySQL Clsuterを使ったシステム運用開始直後のログから2年近くが経過しました。ちょうどいい機会なので、その後の運用を踏まえての感想と、今後の展開について記録を残します。現時点で秘密でない事項についてのみ書きます。 1.SunからOracleへ 知っての通り、MySQLはSunを経てOracleの所有物になりました。 気がついてみるとOSSの主要なデータベース技術のうち、Berkeley DB、InnoDBMySQLOracleになってしまいました。 (よかったこと) GPLのデュアルライセンスは今のところ守られています。そのためMySQLお金を払ってくれるユーザは、今まで通り限られたままで財政的には厳しいはずなんですが、今のところOracleMySQLに対してコミットを守っているようです。特に変わったところとして、「リリースのスケジュールが守られるようにな

  • replication status plugin のインストール - 日向夏特殊応援部隊

    Replication Status Plugin という物がありまして、SHOW SLAVE STATUS で取れる値が information_schema.SLAVE_STATUS テーブルから取れるよって代物です。 SHOW 系のコマンドって変数代入出来ないから SQL でホゲホゲする事が出来ないんですよね。なのでこういう物があると中々便利かなと。 how do I install the Mysql Replication Status plugin に書いてあるまんまですが、こんな感じでインストールします。BUILDDIR が MySQL を一回ビルドしたディレクトリ、INSTALLDIR が MySQL をインストールした(--prefixで指定した値)ディレクトリだとして、 $ wget http://launchpad.net/is-replication-status/

    replication status plugin のインストール - 日向夏特殊応援部隊
  • Infinite Replication Loop

    Last week I helped 2 different customers with infinite replication loops. I decided to write a blog post about these infinite loop of binary log statements in MySQL Replication. To explain what they are, how to identify them… and how to fix them. An infinite replication loop is one or more transactions that are replicating over and over in a Multi Master Replication relationship. This happens beca

    Infinite Replication Loop
    ouest
    ouest 2011/10/11
  • Perl Hackers Hub:第9回 高速なWeb APIの実装とテスト―Mobage APIを支えるノウハウ(2)|gihyo.jp … 技術評論社

    大量にあるサーバへのアクセスを効率的に扱う Mobage APIでは、接続するDBサーバやmemcachedサーバなどが大量にあります。サーバが増えても、アプリケーションの変更は最低限にしたいものです。ここでは、複数のサーバへのアクセスを簡単に記述する方法を紹介します。 DBへのアクセスを隠蔽する DBは一般的な、マスタ/スレーブ構成を採用しています。INSERT/UPDATE/DELETEのような更新系のクエリはマスタへ、SELECTなどの参照系のクエリはスレーブへいくようにしています。また、Sharding[11]をしているDBの系統もあります。 このように大量にあるDBへのアクセスを簡単に行うために、Mobage APIではDeNAの有澤高介さんが開発したDBIx::DBHResolver(現在のメンテナは同じくDeNAの山口徹さん)を利用してDBへのアクセス情報を隠蔽(いんぺい)し

    Perl Hackers Hub:第9回 高速なWeb APIの実装とテスト―Mobage APIを支えるノウハウ(2)|gihyo.jp … 技術評論社
  • 社内サーバインフラ勉強会(DB)

    2. 今回の目的 1. 「データを保存する」ということが、実際にど ういうことなのかを知る。 2. 中の動作を踏まえることで、効率のよいアプ リを書けるようになる。 3. 問題が起きたときに、その原因を突き止めら れるようになる。 一般論をメインとし、MySQL等の細かい 個別ノウハウは取り上げません。 3. おしながき 1. 「データを保存する」とはどういうことか 2. MySQLがディスクに書くまで 3. 仮想メモリとページキャッシュ 4. とっても複雑なストレージの動作 5. MySQLのインデックスとメモリの関係

    社内サーバインフラ勉強会(DB)
    ouest
    ouest 2011/09/30
  • MyISAM から InnoDB への移行 - memo.xight.org

    ouest
    ouest 2011/09/30
  • 最強のMySQL HA化手法 - Semi-Synchronous Replication

    MySQL 6.0で搭載される予定の機能の一つに、Semi-Synchronous Replicationというものがある。コイツを使うととんでもなく凄いHA化ができるので、今日はその方法を紹介しよう。 まずはSemi-Synchronous Replicationの機能説明から。そもそもSemi-Synchrounousってナニ?どうして完全な同期でもなく非同期でもなくSemi-Synchronousなの?という疑問をまずは解消したいと思う。さっそく次の図を見て欲しい。 これはSemi-Synchronous Replicationの動作を図で表したものである。図だけではなんだかよく分からないと思うので、以下に各ステップの詳細を説明する。 アプリケーション(クライアント)からトランザクションをCOMMIT要求を出す。 バイナリログを更新する。 ストレージエンジン(テーブル)を更新する。

    最強のMySQL HA化手法 - Semi-Synchronous Replication
    ouest
    ouest 2011/09/29
  • libmysqlclientを使うプログラムはset namesをutf8であっても使ってはいけない | へぼい日記

    mysql_enable_utf8 => 1 で DBIC::UTF8Columns 要らなくなるっぽいComments 上記の記事のブクマに set namesを直接実行しちゃうのはutf8であってもコンパイルオプションによっては問題起こるのでお勧めできない http://b.hatena.ne.jp/nihen/20090204#bookmark-11950629 ってことを書かせてもらったんだけど、この最後のset namesはutf8でも使っちゃダメという話を軽く説明します。 まずは、基的なことはMySQL5開拓団 – 日語処理の鉄則 / KLab株式会社を読んでください。mysqlの日語処理についてのドキュメントとしては、私は今一番信頼できるドキュメントだと思っています。 さて、上記のページの< 図3:クライアント側文字コードの指定チャート>を、勝手ながらすべて引用させてい

    ouest
    ouest 2011/08/25
  • MySQLをDatabase-as-a-Serviceで提供するXeroundが正式サービス開始

    MySQLをベースに互換性を保ちつつ、独自のクラウド対応ストレージエンジンを搭載することで、スケーラブルなクラウド対応データベースサービスを実現する「Xeround」(ゼラウンドと発音するようです)が、ベータ期間を終了し、正式サービスを開始したと発表しました。 自動的なスケールアウト、ゼロダウンタイム XeroundはAmazonクラウド上で提供されるデータベースサービス。特徴は、自動的なスケールアウト機能、ゼロダウンタイム、MySQLと互換性があるためアプリケーションを変更せずに移行可能な点などです。 Amazonクラウド上では、Amazon自身がMySQLの運用サービスであ「Amazon Relational Database Service」(Amazon RDS)を提供しています。Amazon RDSはスケーラビリティも通常のMySQLに準じ、パッチ当てのための計画停止なども存在し

    MySQLをDatabase-as-a-Serviceで提供するXeroundが正式サービス開始
  • MySQL Casual #2行ってきたよ - 目の前に僕らの道がある

    行ってきたのでちょっと忘れないうちにメモメモ。 個人の覚え書きなので抜け漏れ誤りがあります。そしてまだまとまってないです。 MySQLでNoSQL oinumeさん アメーバピグでのNoSQLの使用法 Fusion-IOの話はしません。 アプリでJavaの話 登録800万人 アーキテクチャ ソケットサーバ(独自ミドルウェア) アプリサーバみたいなやつ トラフィック 2.1GBps 同時アクセス 10万 MySQLRDBMSとしては使ってない もともと独自KVS(オンメモリ) + MySQL からMySQL化 データが多いので再起動に 7時間かかる = 7時間止める必要があった index Persister Javaのアノテーションを使う パフォーマンスチューニング スローログを見る クライアント側でもスローを見る Javaのスタックトレースを取る。どこがボトルネックになっているかを

    MySQL Casual #2行ってきたよ - 目の前に僕らの道がある
    ouest
    ouest 2011/08/17
  • Covering Index と self-join と MySQL - blog.nomadscafe.jp

    某サービスのクエリチューニングのお話。 ブログとか日記とかそういうサービス系で次のようなテーブルがあったとします。 CREATE TABLE entries ( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, user_id INT UNSIGNED NOT NULL, posted_by TINYINT UNSIGNED NOT NULL, --#PC、mobileなどどこから投稿されたかのフラグ title VARCHAR(512) NOT NULL, body TEXT NOT NULL, created_at DATETIME NOT NULL, updated_at TIMESTAMP NOT NULL, status TINYINT UNSIGNED NOT NULL, INDEX (user_id,created_at

    ouest
    ouest 2011/08/17
  • DeNAが社内利用しているMySQLの自動フェイルオーバーツール、オープンソースで公開開始

    MySQLがダウンしたときに自動的に別のMySQLへ処理を引き継ぐことで、高可用性を実現するフェイルオーバーツール「MySQL-MHA: MySQL Master High Availability manager and tools」がオープンソースとして公開されたことを、作者の松信嘉範(まつのぶよしのり)氏がブログで伝えています。 Yoshinori Matsunobu's blog: Announcing MySQL-MHA: "MySQL Master High Availability manager and tools" 松信氏はモバゲーなどで知られるDeNAに勤務しており、MySQL-MHAによる自動フェイルオーバー機能はDeNAのインフラ運用を支えているとのこと。同氏のブログから引用します。 Difficulties of master failover is one of

    DeNAが社内利用しているMySQLの自動フェイルオーバーツール、オープンソースで公開開始
  • 変数とストアドプロシージャについて - 日向夏特殊応援部隊

    追記しました (2011-08-08T16:57:50Z) 割と弊社では MySQL の event scheduler を使ってみたり、ストアドプロシージャ、トリガーなど積極的に使っています。 今回はストアドプロシージャを書く上で、変数を色々使うのですが備忘録としてメモっておきます。 MySQL における変数には幾つか種類があります。 システム変数 (c.f. @@version) ユーザー変数 (c.f. @var_name) ローカル変数 (c.f. DECLARE var_name INT, ストアドプロシージャ内で使える) これら変数の特徴は下記です。(MySQL 5.1.50 で確認) -- システム変数 ユーザー変数 ローカル変数 スコープ GLOBAL *1 SESSION LOCAL 型 なし なし あり 宣言 なし なし あり 設定 SET GLOBAL / SET S

    変数とストアドプロシージャについて - 日向夏特殊応援部隊
    ouest
    ouest 2011/08/08
  • DBサーバーの負荷分散

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

  • MySQLをmaster:slave=1:1構成にして参照をslaveに向けるのがなぜ良くないか - 酒日記 はてな支店

    MySQLのmasterとslave 1:1にして参照をslave向けるのってやりたがる人多いみたいだけど、性能たいして上がらない割に可用性落ちるだけだからやめようキャンペーン 2011-06-19 00:16:30 via YoruFukurou MySQL はレプリケーションが簡単に構成できるのですが、時折 master 1台 に対して slave 1台、更新処理は master に、参照は slave に、という構成を目にします。 個人的にはこの構成はお勧めでないと思っているので、その理由を考察してみます。 1. 可用性が落ちる 当然ですが、master, slave のどちらが落ちても影響を受けるために可用性が低下します。 2. 全体の性能がほとんど上がらない master 1台ですべてのクエリを処理する場合と比べて、可用性が落ちる引き換えとして見合った性能向上が得られるか、という

  • 大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック

    OSC 2011 Hokkaidoの発表で使用したスライド資料です。 弊社が「ブラウザ三国志」や「英雄クエスト」といったゲームを、PHPMySQLで構築してきた上で、身につけたノウハウや、注意すべき箇所、指針などをまとめた資料となっています。Read less

    大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
    ouest
    ouest 2011/06/15
  • oinume journal

    Raycastを使い始めて1年経ったので、どういうことに使っているかを振り返ってみる。去年書いた AlfredからRaycastに移行した - oinume journal の記事から少し使い方が変わっているところもあるのでメモがてら。 基的な使い方 Cmd + QをRaycast起動のショートカットとして割り当てている。Pro版は使っていないのでAI機能などは使ったことがない。 ブラウザのブックマーク検索など、よく使うけどHotKeyを割り当てるほどでもないRaycastコマンドはbmのようにAliasを設定している。 Cmd + QでRaycastを起動してbmと入力するとブックマークの検索ができるので楽ちん アプリケーションランチャー機能 アプリケーションを起動するときのランチャーとして使っている。よく使うアプリにはHot Key(ショートカット)を割り当ててる。 Clipboar

    oinume journal
    ouest
    ouest 2011/06/05
  • DeNAによる大規模なMySQLノンストップ運用の裏側にある、フェイルオーバー自動化ツール

    4月11日から米サンタクララで行われた「MySQL Conference & Expo 2011」。このイベントでDeNAの松信嘉範(まつのぶよしのり)氏が、同社の大規模なMySQLの運用を支えている技術とツールについてのセッション「Automated, Non-Stop MySQL Operations and Failover」を行いました。 プレゼンテーションの中で、社内で利用しているフェイルオーバーの自動化ツールをオープンソース化することにも触れています(英語のドキュメントも作成中とのこと)。 MySQLの大規模運用における自動フェイルオーバーは、特にクラウドでのMySQLの利用が増えるにつれてニーズが高まる分野と思われます。セッションのスライドが公開されていますので、そのポイントを紹介していきます。 自動化されたノンストップなMySQLの運用 ソーシャルゲームでは高可用性が強く求

    DeNAによる大規模なMySQLノンストップ運用の裏側にある、フェイルオーバー自動化ツール
  • DeNA、MySQL Conferenceで表彰―「HandlerSocket」が評価 / GameBusiness.jp

    OpenLifeによれば、オライリーが毎年開催しているMySQL Conference & Expoにて発表されたMySQL Conference Community Awards 2011で、ディー・エヌ・エーがCorporate Contributor of the Year 2011を受賞したとのこと。 ディー・エヌ・エーではMobageなどのデータベースとしてMySQLを採用。日で最もMySQLを活用している企業の一つと言えるかもしれません。表彰理由としては、同社がMobageで利用し一般にも公開しているMySQLのプラグイン「HandlerSocket」が高く評価されたようです。「HandlerSocket」はMySQLのアクセスを高速化するプラグインです。 このHandlerSocketですが、すでにモバゲータウンにて実際に運用しています。従来MySQLとmemcache