MySQL5.7までのSHOW SLAVE STATUSだけでは分からない事が多かったけど、MySQL8.0のSHOW SLAVE STATUSは少し改善されていた。 マスター側で負荷をかけて、スレーブの状態を確認した時にスレーブ側で”Systetm lock”という状態になっていて、詳細を確認する為にPerformance Schemaを確認してみた。 MySQL8.0からはPerformance_Schemaを確認しなくても”Slave_SQL_Running_State”で状態が確認出来るようになっている。 以下、MySQL8.0で確認したログですが、MySQL5.7では”System lock”だった状態が、MySQL8.0では”Applying batch of row changes (update)”になっています。 [admin@misc02 ~]$ cat repli_l
2017/12/04 追記 レプリケーションの手順に誤りがあります。 無停止で前日のdumpからスレーブを作って同期をとった、から ↓↓↓↓↓↓↓↓↓ メンテナンスモードでマスターへの更新を止めた状態でdumpをとり、スレーブを作って同期 その後にメンテナンスモードをオフして、マスターへの更新を再開 という内容に更新予定です。 設定当時はよくわかっておらず、最初は更新を止めずに雑にレプリケーションしていました。 結果、複数のレコードを喪失したままレプリケーションが実行されていたので、やり直しています。 はじめに my.cnf のチューニングと計測がいったん終わり、MySQLサーバー(5.5)が安定稼働してきました。 そこで 今まで稼働を停止していた レプリケーションサーバーを再稼働させた時のことをまとめたいと思います。 手順周りは、作業しながらのメモから書き起こしたもので、多少雑な面がある
#経緯 とある勉強会の内容の復習&整理 #タイトル インストール・アーキテクチャ基礎編 レプリケーション編 ←今回はこちら バックアップ編 チューニング基礎編 #レプリケーション編 アジェンダ レプリケーションとは レプリケーションの仕組み レプリケーションの種類 レプリケーションの設定方法 バイナリログの管理方法 その他の考慮事項 参考情報 #1. レプリケーションとは ##1.1. 基礎知識 データの複製(レプリカ)を別のサーバにモテる機能 MySQLの標準機能で、多数のWebサイト等で利用されている - シンプルな設定で利用可能 - マスター → スレーブ構成 ##1.2. マスタースレーブ構成 サーバはマスター、スレーブまたは両方になれる マスターサーバ - データを変更 - 変更内容をスレーブに転送 - マスターは複数のスレーブを持てる スレーブサーバ - マスターでの変更内容を
All of Percona’s open-source software products, in one place, to download as much or as little as you need.
おそらく世界でもっとも大規模にMySQLのクラスタを展開し、運用しているのがFacebookでしょう。複数のデータセンターにまたがり何千台ものMySQLサーバを運用するために、自動化の仕組みは欠かせません。 その自動化がどのような仕組みになっているのか。FacebookのデータベースエンジニアであるShlomo Priymak氏が、Under the hood: MySQL Pool Scanner (MPS)という記事をFacebookで公開しています。 かなり長い記事なので、ここではそのポイントをまとめて解説してみました。詳細はぜひ原文をあたってみてください。 MPSのおもな3つの機能 Facebookで稼働しているMySQLは、つねに1つのマスターとそこからレプリケーションされた複数のスレーブによるレプリカセットを構成しています。このレプリカセットの構造を維持し続けることで、可用性と
2. 形あるものは必ず壊れるのでリカバリが必要 止められないサービスなら切り替わる必要がある 復旧にかかる時間を自動化により削減したい サービス断時間を少なく抑え機会損失を防ぐ 復旧操作の自動化により人によるオペーレーション の不確実性を緩和 復旧時の人的リソースを削減できる データの保全性を向上 ※HA構成はバックアップの代用にはなりません (オペレーションミスもレプリケーションされるためです) 3. 従来の冗長構成(heartbeat+mon+mysql) MHA(mysql5.5まで) mysqlfailover(Mysql5.6以降) (費用的に)需要が少ないが以下構成も可能 • AmazonRDS(現在MySQL5.5まで、排他制御) • Heartbeat-v3+SharedDisk構成(排他制御) ※PostgreSQL,MySQL+V
mysqlenvは異なるバージョンのMySQLをインストールしたり切り替えられるインストーラーです。 最近プログラミング言語はrvmやnodebrewなどユーザ環境下でインストールできてバージョンの切り替えが簡単に行えるものが流行っています。そんな環境切り替えをMySQLでも行えるようにするのがmysqlenvです。 インストールします。 installコマンドで指定したバージョンのMySQLがインストールできます。 mysqlenvが対応しているのは3.23、4.0、4.1、5.0、5.1、5.5、5.6系となっています。特に5.5系はMariaDB、Percona、Twitterが選べるようになっていますので、それぞれのDBの特性をチェックするのに使えそうです。起動や停止、切り替えはコマンドから簡単にできます。 mysqlenvはBashスクリプト製のソフトウェア(ソースコードは公開さ
MySQL/MariaDB向けのストレージエンジン「TokuDB」を開発する米Tokutekは4月22日、初のオープンソース版となる「TokuDB 7.0」を公開した。MySQLで50GB以上のビックデータの活用を実現できるという。 TokuDBは、マサチューセッツ工科大学(MIT)、ラトガース大学、ニューヨーク州立大学の研究者らが開発したMVCCおよびACID準拠のストレージエンジン。書き込み中心のワークロード向けに設計されており、高速処理と拡張性を特徴とする。独自開発した「Fractal Tree」技術を利用し、MySQLやMariaDBでテラバイト級のストレージを利用できるようにするという。また、INSERT処理やクエリの速度も改善されるとのこと。圧縮、ホットスキーマ変更などの機能も備える。 これまではプロプライエタリのソフトウェアとして提供されていたが、バージョン7.0では「コミュ
DBサーバでとある日を境にswapが発生していることに気がつきました。 サーバはメモリ32GB搭載していて、そのうちの24GBをinnodb_buffer_pool_sizeに割り当てています。 他のthread毎のメモリ設定値を見てもおかしそうな点はなかったのでググってみました。 MySQL と NUMA アーキテクチャと Swap Insanity MySQL InnoDBストレージエンジンのチューニング(後編) なるほど…。 それぞれのCPUがローカルでメモリを管理しているので、 2CPU積んでいるサーバだと、AというCPUで実行されているスレッドが、BというCPUが確保しているメモリ領域にアクセスするには、AのCPUを経由しないといけないわけですね。 このメモリアクセスが不均一になる方式をNUMAアーキテクチャというみたいです。 NUMAアーキテクチャのメモリ管理が、ノードという単
1. MySQL 5.6 新機能解説 @ db tech showcase 2012 奥野 幹也 @nippondanji mikiya (dot) okuno (at) gmail (dot) com 2. 免責事項 ● 本プレゼンテーションにおいて示されている見解は、私自身 の見解であって、オラクル・コーポレーションの見解を必ず しも反映したものではありません。ご了承ください。 3. 自己紹介 ● MySQL サポートエンジニア – 2000 年にサン・マイクロシステムズ入社 ● 主にハードウェアのサポートを担当 – 2007 年に MySQL KK へ転職 ● 気付くとまたサン・マイクロシステムズに・・・ – 現在は日本オラクルに在席。 – サポート一筋 12 年 ● 日々のしごと – MySQL トラブルシューティング全般 – Q&A 回答 など ● ブログ – 漢のコンピュータ道
実は1.0.0が2010年12月にリリースされていたのに全く知名度の無い"MySQL Utilities"。実は便利な機能が複数用意されているので、スクリプトを手作りしなくても済む可能性大です。またリリースに向けて新たなマイルストーンリリースが出てきたMySQL 5.6でのレプリケーションの追加機能と組み合わせる便利機能もあります。 MySQL UtilitiesはPythonで書かれたスクリプト集で、MySQL Workbenchに同梱されて配布されています。ライセンスは「もちろん」GPLです。2012年7月上旬時点での最新版は1.0.5です。また実行可能なスクリプトの他に、ライブラリとして細かな機能が用意されているため、独自のスクリプト作成にも役立ちます。 起動にはMySQL Workbenchのメニューの【Plugins】から【Start Shell for MySQL Utilit
というわけで、JPOUG> SET EVENTS 20120721 | Japan Oracle User Groupに参加して発表をしてきました。通常の勉強会と比べて発表者と聴講者の一体感を増すための工夫がなされていて、とても良かったと思います。有限コーヒーかと思ったら無限ビールだったのも驚きです。JPOUGの運営メンバのみなさま、会場を提供してくださった日本オラクルのみなさま、当日お越しいただいたみなさま、どうもありがとうございました。 私のセッションでは、データベース負荷テストツールまとめ(5)と題して過去4回分のまとめと自作ツールの紹介をさせていただきました。JdbcRunnerはOracle Database、MySQLとPostgreSQLの間でTPC-BとTPC-Cの性能比較ができる唯一のオープンソースソフトウェアですので、いろいろ試してみていただければと思います。試した結果
MySQL のレプリケーションは素晴らしい仕組みなのですが、ちょっと凝ったことをしようとするには機能が限られています。特に、MySQL の更新を他のデータストアにマイグレーションしたいような時は、Trigger を使って超頑張るのはイマイチで、バイナリログを使ったレプリケーションの仕組みをそのまま拡張してマイグレーションするようなワーカーを書きたくなるものです。 そんな時に使える便利な API として、Binlog API というものがあります。まだ開発途上ではありますが、期待の持てる API です。 assets.en.oreilly.com/1/event/61/Binary log API_ A Library for Change Data Capture using MySQL Presentation.pdf 試しにどんなもんなのか使ってみました。 追記 2012/07/09
5. backup tool • mysqldump • ibbackup & innobackup • xtrabackup & innobackupex • Mydumper • LVMスナップショット 6. mysqldump • MySQL本体に標準インストールされてます。 • 論理バックアップ(SQL分のdump)です。 • InnoDBのHotbackupが可能です。 • データ量につられてバッアップの時間が長く なります。(リストアも大変) 7. mysqldump使い方 (MyISAMの場合) # time mysqldump -uroot -p$password --lock-all-tables --master-data=2 hoge 2>./error.log |gzip > hoge_YYYYmmdd_HHMMSS.sql.gz • --lock-all-tabl
最近MySQLの勉強をしていました。実践ハイパフォーマンスMySQLを読むべきという話を聞いていたのですが、かなり網羅的に書かれていて、今の知識ではどれが重要なのかわからない状態でした。そこで色々調べてみて、参考になる記事をいくつか見つけたので、少しまとめてみようと思います。 今回まとめた記事を読んで、大体以下のことが理解できました。 インデックスの使われ方とその構造(MyISAMとInnoDB) EXPLAINの詳しい使い方、見方 InnoDBの特性 ALTER TABLEの特性 レプリ遅延 まず最初に Webエンジニアのための データベース技術[実践]入門 (Software Design plus)posted with amazlet at 12.06.02松信 嘉範 技術評論社 売り上げランキング: 9767 Amazon.co.jp で詳細を見る 松信さんの書いた「Webエンジ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く