「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 ※10秒後にBIGLOBEのおすすめページに遷移します

「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 ※10秒後にBIGLOBEのおすすめページに遷移します
Webサービスでは、世界中からのトラフィックを捌く必要があるため、いくらチューニングしようとも一台のRDBMSでは捌ききることが出来ないのが常だ。MySQLは最初からマスター・スレーブ型のレプリケーション機能が搭載されており、スレーブをたくさんぶら下げることによって参照の負荷をスレーブに割り振るというスケールアウトによってその問題に対処してきた。スレーブによるスケールアウトは、参照(=PV)が多いWebサイトと非常に相性が良く、幾多のWebサイトにおいて実績を作ってきているし、まだまだ利用されている。 しかしながら、サイトのトラフィックが劇的に増加してくるようになると、レプリケーションによる負荷分散では追いつかなくなってきた。そこで人々がとった選択肢は、memcachedを利用することである。memcachedはインメモリ型の高速なKVSであり、参照・更新性能はMySQLより格段に高い。M
※この記事はMySQL Advent Calendar 2023の4日目です。 MySQL 8.0シリーズでは正式版になってから多数の新機能が追加されるというリリースモデルであった。正式版になってから追加された新機能の中に、GIPK(Generated Invisible Primary Key)というものがある。これはなんとMySQL 8.0.30で追加された機能だ。MySQL 8.0が正式版になってから、なんと4年と3ヶ月後のことである。そんな感じでMySQL 8.0の新機能は正式リリース後にも増え続け、途方もない規模になっている。このブログでは一度に紹介するのは諦め、少しずつ気の向いたものから紹介していこうと思う。今回はその第一弾として、GIPKについて解説しよう。
グーグルでMySQLエンジニアリングチームを率いたのち、現在はFacebookに在籍しているMark Callaghan氏がブログ「High Availability MySQL」にポストしたエントリが発端になって、MySQL+Memcachedの時代は過ぎたのか? という議論が巻き起こっています。 元グーグルMySQL担当エンジニアが弱気な発言? Callaghan氏がポストしたエントリ「Plays well with others」は次のような一文で始まり、MySQLについてややシニカルに書かれているように読めます。 A few years ago MySQL+memcached and PostgreSQL+memcached were the only choices for high-scale applications. That has changed with the ar
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
オライリー・ジャパン から実践ハイパフォーマンスMySQL 第2版が発売されました。第2版の出版にあたって、弊社の id:stanaka, id:hideoki と自分の3人で監訳を担当させていただきました。 実践ハイパフォーマンスMySQL 第2版 作者: Baron Schwartz,Peter Zaitsev,Vadim Tkachenko,Jeremy D. Zawodny,Arjen Lentz,Derek J. Balling,伊藤直也(監訳),田中慎司(監訳),吉川英興(監訳),株式会社クイープ出版社/メーカー: オライリージャパン発売日: 2009/12/14メディア: 大型本購入: 17人 クリック: 373回この商品を含むブログ (45件) を見る 好評だった初版は確か、自分がはてなに入社した直後ぐらいに読んだ記憶があるのでもう 5 年も前になります。はてなの MySQ
今回はMySQLネタです。 MySQLに対してアクセスが増え、データが溜まってくると、サーバが遅くなったという連絡がはいることがあります。 体感でですが、データが10万件を超えたぐらいから、そういう話が増えて来るようにも思います。 原因としては、INDEXの張り方がうまくない(そもそもはっていない)ということが多いと思うのですが、どこにどうやってはれば良いのか、すぐに分かります? 今回、簡単に見つける方法があることに気がついたので、メモしておきます。phpMyAdminを使います。 phpMyAdminには、「MySQLプロセスの表示」という部分がありますので、「今、サーバが重くなっている」という時点でこちらを開きます。 すると、現在実行しているSQLの情報が表示されます。 「プロセス」というタブを数回押してみると、その状態で「いつも同じようなSQL文が何度も表示されている」かもしれません
MySQLはとても気ぃつかい屋さんである。我々が投げる多少あいまいな指示も頑張って解釈し、なんとか文句を言わずに実行してみようと挑戦してみてくれる。 今日はそんなMySQLがケナゲに解釈してくれる自動変換について紹介しようと思う。この自動変換、ケナゲなMySQLの奥ゆかしさ故、出した指示と異なる動作をされたことに気がつかないことがある。ここで紹介する6つの自動変換をしっかり脳ミソにたたき込んでおけば、無用なトラブルにハマる時間も減るかもしれない。 1.[数値] 範囲外の数値は頭を押さえつけられる intやsmallint、bigintなどの数値型には、扱える範囲が決まっている。例えばint型なら最大21億ちょっとだ(unsignedの場合は43億弱)。これより大きい数字を登録するよう指示を出すとMySQLはどうするか。そう、頑張って入れられるところまで入れてくれるのである。「入れられるとこ
MySQLのライセンスはサーバ/クライアントの区別なく、GPL(GNU General Public License)か、コマーシャルライセンスのいずれかの形態を選択するデュアルライセンス方式です。 もしあなたがMySQLを使ったソフトウェアを開発し、他の人に配布しようとしている場合、それは有料、無料、評価版、製品版にかかわらず、あなたの開発したソフトウエアをGNU GPLに従い配布するつもりがなければ、コマーシャルライセンスの購入が必要となります。 ※ GNU GPL(GNU General Public License)とは、フリーソフトウエア財団の一般公衆利用許諾契約書のことで、ソフトウエアの共有と改変を自由に保証するものです。 ※ GPLを選択する場合、目的を問わず、開発されたものはGPLとしてソースコードと共に配布しなければなりません。また再配布,変更,コピーを禁止してはなりませ
日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。
Mysql Database Structure CompareはRuby製Windows/Linux向けのオープンソース・ソフトウェア。データベースを使ったWebシステム開発が当たり前になりつつある。だがデータベースの構造におけるバージョン管理は煩雑なケースが多い。 RubyだがGUIアプリケーション 特に運用時におけるスキーマ変更を適切に行っていないばかりに余計なエラーを起こすようなケースもある。そこで使ってみたいのがMysql Database Structure Compareだ。Mysql Database Structure Compareは二つのデータベースを比べてその差分を抽出するソフトウェアだ。 比較元、先ともにホスト、ユーザ名とパスワード、データベース名、ポート番号を指定できるようになっている。一つがローカル、一人はリモートであっても利用できる。比べた結果はSQLとして
早いもので、2週目に突入です。 本来であれば、もっと早くに書くつもりでしたが、JSONにはまって、結局この時間です・・・ 今日は、MySQLの管理に欠かせない、mysqldumpコマンドについて。 普段は、cronなどに、一度登録してしまうと、なかなか見直す機会がなくなりますが、ぜひこれを機会に一度見直しを! いろいろと、サンプルを出しますので、想定するMySQLのデータベースを以下のように設定します。 ユーザ: root パスワード: hoge DB名: example まずは、通常は、以下のような感じでしょうか? $ mysqldump --user=root --password=hoge example > example.dmp これで、example.dmpという、ダンプファイル(バックアップファイル)ができあがります。 もちろん、これで問題ない方も多いとお思いますが、
mysql のスレーブサーバで、show slave status を実行して、Slave_IO_Running が No で、Slave_SQL_Running が Yes になっている場合の対処法です。 mysql> stop slave; mysql> reset slave; mysql> start slave; スレーブサーバの状態を表示。 mysql> show slave status; これで Slave_IO_Running、Slave_SQL_Running ともに Yes となればOK。 No なら、「mysqlのレプリケーションが止まったら」の方法でスレーブサーバのデータを再構築しましょう。 grant 文でユーザの設定を正しく行っているのに mysql への接続でエラーがでる場合には、mysql サーバが接続元のホストからの接続を拒否している可能性があります。
今日は、MySQLのレプリケーションのお話。バージョンは5.0を前提として説明。 MySQLにおけるレプリケーションは更新情報を記録したバイナリログ(binlog)をベースとしたアーキテクチャ。マスターでの更新情報をバイナリログとしてスレーブに転送、これをSQLに変換しスレーブで実行しデータ同期を行う。Oracle Data GuardのLogicalスタンバイによく似ている。 基本概念図を以下に示す。 特徴 複数のスレーブを用意することで、参照系クエリの負荷分散が可能 マルチマスター構成の場合には更新系クエリの負荷分散も可能 ただし、この場合にはアプリの扱うデータに依存し実現可否が分かれる。 マルチマスター扱いとするオブジェクトを限定するなど、論理設計でも考慮が必要 マスタのバックアップとしてスレーブを切り離し、サービス無停止のままバックアップが可能 この場合、スレーブを停止しコールドバ
え~忙しくてだいぶ時間が空いてしまいましたね。おいそれと続きを書いてみますです。 前回までで、なんとかtelnetが使えるようになりました。さて、今度こそMySQLにリモート接続です。ここに至るまでそれなりに時間がかかりましたが、ここから先も時間がとられてしまいました。すんなりとはいかないものですね。今思えば単純な問題ばかりなんですが・・・。さて今回は直面した問題点を先にすべてあげてしまいましょう。 1.ポート(一般には3306)が開いていない 2.MySQLのユーザー権限設定が変更されていない 3.my.ini になぜか bind-addressが設定されている 他にも色々原因はあると思いますが、ローカル接続(MySQLがインストールされたマシン内だけでの接続)では正常に動くのに、外のパソコンから、ネットワーク上のほかのパソコンからリモート接続できないっていう場合は、一応確認してみて下さ
server-id=7 master-host = 192.168.11.2 master-user= satou master-password = pass replicate-do-db = databank レプリケーションの対象となるデータベースは,「databank」,1つのテーブル「accesslog」が格納されている。マスタ側で,随時データを追加し,レプリケーションの機能を使用してスレーブに複製を作成する。現時点で,リスト1のようにマスターおよびスレーブにデータが格納されている。 リスト1●テーブル「accesslog」の内容(マスター側) mysql> select * from accesslog; +-----+-----+----------+------------+--------------+ | No | ID | Name | Time | Nemo |
このところ楽天をはじめとして,MySQLを活用した大規模な事例が増えている(関連記事)。このような大規模,かつサービス停止の許されないシステムを支えているのが,MySQLのレプリケーション機能である。 「レプリケーション」とは,対象物とまったく同じ物を製作する処理だ。同じような意味に「ミラー」があるが,意味するところは物理的なコピーである。「レプリケーション」は,論理的な複製であり,対象物の全体や一部といった範囲を限定できる点が異なる。 このような機能は,大がかりな準備と高度な技術が必要と考えている方も多いだろう。しかし,MySQLのレプリケーション機能は,非常に簡単に利用することができる。今回は,現行バージョンでも利用可能なレプリケーション機能を解説する。 Masterの更新がSlaveに反映される MySQLのレプリケーション機能は,MasterとSlaveに役割が分かれる(図1[拡大
MySQLのログファイル MySQLのログファイルは、実行エラーログ、クエリログ、スロークエリログ及びトランザクションログの4種類のログがあります。 実行エラーログ 実行エラーログは、起動、停止及び実行時のエラーがMySQLディレクトリに"ホスト名.err"というファイル名で保管されます。 MySQLで障害発生時に障害特定の情報を得ることが出来ます。 ・設定方法 1.コマンド UNIX、Linuxの場合 $ mysqld_safe --log-error=myerror.log --log-warnings=1 Windowsの場合 C\> mysqld-nt --log-error=myerror.log --log-warnings=1 オプション
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く