タグ

MySQLとmysqlに関するxaicronのブックマーク (58)

  • Docker コンテナで MySQL を使ったテストの高速化 - stfuawsc

    全国1億2000万の Docker ファンの皆さんこんにちは。 MySQL の起動がとてつもなく遅いのは有名な話。 ところが Docker コンテナの起動はなかなか早いので、 MySQL を使っているようなテストを高速化するケースで有用性が認められるのではないかと思って PoC を書いてみた。 (宣伝)こういった話も含めて YAPC でトークしたいので SNS 等で upvote お願いします: ( ✌'ω')✌ 楽しいモデル層開発 - YAPC::Asia Tokyo 2014 (宣伝おわり) MySQL を使ったテスト MySQL を使ったテストをする場合、だいたい次の 2 パターンになる。 MySQL をテストのたびに起動してクリーンな状態で使う ローカルにデーモンとして起動した MySQL に接続して DROP TABLE や TRUNCATE でクリーンな状態にして使う だけど、

  • innodb_support_xa と binlog の危ない関係 : DSAS開発者の部屋

    昨日の記事 で innodb_support_xa = 0にすると RDS が速くなることを紹介したのですが、その後 Twitter で innodb_support_xa = 0 にするとクラッシュ時だけでなく通常時も binlog とトランザクションログの一貫性が無くなる(コミットする順序が前後する)可能性があることを指摘していただきました。 innodb_support_xa=0すると、トランザクションがコミットされた順番でバイナリログに載ることが保証できなくなるんだけどいいのかな? DSAS開発者の部屋:AWS RDS の書き込み性能チューニング dsas.blog.klab.org/archives/52108… — ts. yokuさん (@yoku0825) 2013年4月24日 実際に、 MySQL 5.5 と 5.6 両方で、 innodb_support_xa の説明に

    innodb_support_xa と binlog の危ない関係 : DSAS開発者の部屋
  • GitHub - kamipo/mruby_storage_engine

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - kamipo/mruby_storage_engine
  • 複数バージョンのMySQLを管理・実行できるmysqlenv作った - tumblr

    主に開発環境でMySQLを複数バージョン同時に動かしたいということがあると思います。 なので複数環境でも動くやつ作りました。 https://github.com/shim0mura/mysqlenv 名前から分かるようにrbenvのコマンドインターフェースを真似ています。 すでにあるkamipoさんの作ったmysql-buildは当時のruby-buildをほとんどコピってきたとのことなので、それを真似してrbenvをほぼ丸々パクろうかと思ったけど、ソース見た感じ真似るのに時間掛かりそうなのでコマンドインターフェースとか複数コマンドの実行フローらへんの抽象的に使えそうな部分だけ真似て適当に実装しました。 インストール $ git clone git://github.com:shim0mura/mysqlenv.git お好きなディレクトリにcloneしたあとは以下を.bashrcにでも

    xaicron
    xaicron 2013/04/17
    今日の MySQL Casual の内容とモロかぶりである...
  • QA@IT サービス終了のお知らせ - @IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    QA@IT サービス終了のお知らせ - @IT
  • tweets.zipをMySQLに突っ込んでSQLを学ぶ(導入編) · さよならインターネット

    April 4, 2013 Twitterの過去ログが落とせるようになったので SQLに学ぶには丁度いいや。ということで カジュアルにOSX上でhomebrewを使ってMySQLに入れてみました。 MySQL ver.5.6 (homebrew install) OS / OSX 10.8.3 なにはともあれアーカイブをダウンロード Twitterの個人設定っぽいところから ポチポチするとダウンロードリンクが貼られたメールが送られてくるので ポチポチしてtweets.zipをダウンロード。 tweets.csvを探す tweets.zipを解凍すると、中身がこんな感じに出てきて index.htmlをブラウザで開くと、過去のツウィートが見れたりします。 時間泥棒なのでおすすめしません そして、tweets.csvが目的のファイルで、中身を開くと "tweet_id","in_reply_t

  • LAST_INSERT_IDの限界 - 筋トレとともに生きるDBAの雑記

    こんにちは。 突然ですが32bit/64bitの差を調べていて気づいたのでメモ。 32bitだともちろん32bitを超える数値をそのままでは扱えないわけですが、MySQL的にはどうなのよってことで特に値が大きくなりがちなid発番を見てみました。 弊社ではid発番をauto_incrementではなく、MyISAMなテーブルに対する以下クエリで発番しています。 CREATE TABLE `hoge` ( `id` bigint(20) unsigned NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=sjis update hoge set id=LAST_INSERT_ID(id+1) で、unsignedなんだから「18446744073709551615」までイケるだろ! と思ったら mysql> select * from hoge; +------

    LAST_INSERT_IDの限界 - 筋トレとともに生きるDBAの雑記
    xaicron
    xaicron 2013/03/15
    ほお
  • クライアントにはdefault-character-setを指定したいけどmysqlbinlogには怒られたくない - (ひ)メモ

    my.cnfには[group]というオプショングループが書けて、グループ毎に設定ができます。 オプショングループには特殊な[client]というのがあります。 [client]オプショングループは、すべてのクライアントプログラム(mysqldは除く)によって解読されます。これによって全てのクライアントに当てはまるオプションを指定することが可能になります。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.2.6 オプションファイルの使用 なので[client]にdefault-character-set = utf8と書いておけば、(my.cnfを解釈する)全てのクライアントにdefault-character-setをセットすることが可能です。 ところがdefault-character-setを解さないクライアントの場合はエラーになってしまいます。例えばmysql

    クライアントにはdefault-character-setを指定したいけどmysqlbinlogには怒られたくない - (ひ)メモ
    xaicron
    xaicron 2013/03/14
    loose 便利やー
  • MySQL の unknown option エラーはオプションに loose- プレフィックスをつけると回避できる - かみぽわーる

    もうMySQL 5.5 GAが出てから1年以上が経ち、つい先日とうとうMySQL 5.6 GAも出た昨今、これから先パーソナルユースでこれより以前のMySQLなど使うことはないだろうと~/.my.cnfを書いていたのだけど、昨日ちょっとしたアレでMySQL 5.1を入れたらMySQLが進化しすぎててオプションコメントアウトしまくらないと動かないわーとかいってたらloose-つけるといいですよって教えてもらった。 my.cnfのオプション名の頭にloose-と書いておくと、オプションが存在しなくてもWARNINGでERRORにならずに済みますよー。loose-log-slow-queriesloose-slow-query-logと書くと5.1でも5.5でも使える、みたいな。— ts. yoku (@yoku0825) February 6, 2013 これは知らなかった! MySQL 5.

    MySQL の unknown option エラーはオプションに loose- プレフィックスをつけると回避できる - かみぽわーる
  • 複合インデックスで範囲検索が遅いとき - (ひ)メモ

    DDLとデータは末尾に示しますが、複合インデックスが効くはずのクエリなんだけどナめてる行数が多くて困ったというお話です。(MySQL 5.1.55) このクエリで返ってくる行数は246件なんですが、それにしてはナめてる行数(rows)がやたら多いです。where句で使っているageとlast_updateとで複合インデックスを張っているのに、です。 between使用: explain extended select id from betweeeeen where age between 30 and 35 and last_update >= 946612000 \G ↓ id: 1 select_type: SIMPLE table: betweeeeen type: range possible_keys: i1 key: i1 key_len: 10 ref: NULL rows

    複合インデックスで範囲検索が遅いとき - (ひ)メモ
  • TheSchwartz のような RDBMS をつかったジョブキューをリアルタイムに処理するアイディア - tokuhirom's blog

    TheSchwartz のような RDBMS をつかった job queue は、新規に daemon をたてたりする必要がないので楽でいいのですが、一方で job の追加の timing が storage から push でおくられてこないので、若干の delay が生じてしまうのが難点でした。 この問題を解決するために、mysql の binlog API を用いて、処理してみるハックを考えてみました。 binlog API を利用すると更新クエリを streaming で処理できるので、こういったハックも簡単にできちゃいます。おもしろい。 use 5.016000; use MySQL::BinLog; use TheSchwartz; my $sch = TheSchwartz->new(...) or die; $sch->can_do($_) for ...; $sch->w

  • GrowthForecast のデータストアに MySQL が使えるようになりました - blog.nomadscafe.jp

    これまで GrowthForecast のグラフ一覧や直近の数値などのデータはSQLiteに保存していましたが、パフォーマンスの問題がありそうということで、MySQL も利用できるようにしました。 移行ツールなどはありませんが、既にGrowthForecastを使っていて、MySQLを使いたい場合は、依存モジュールが増えているので以下のコマンドを実行し、モジュールの追加を行ってください。 $ git pull $ perl Makefile.PL $ cpanm --installdeps . テーブルはgrowthforecast.plの起動に自動で作られるので、MySQLにデータベースの追加とユーザの設定を行って下さい。 mysql> CREATE DATABASE データベース名; mysql> GRANT CREATE, DELETE, INSERT, UPDATE, SELECT

    xaicron
    xaicron 2012/06/05
    今後もお○にえさんに人柱頼めばええんや~
  • YappoLogs: InnoDB Deep Talk #1 に参加して来た話または 住所正規化 MySQL UDF を作った話

    « Kyoto.pm Tech Talks #01 に JPA の 地域PM向け 講師派遣支援プログラム で参加してきます! | Main | Kyoto.PM #1 で発表してきました » InnoDB Deep Talk #1 に参加して来た話または 住所正規化 MySQL UDF を作った話 昨日は起きたら参加申し込みしてたはずの InnoDB Deep Talk #1 が始まってるらしいのに気づいて急いで行ってきました。入館面倒い会場なのに遅刻者対応したりピザとか飲み物調達とか面倒い事をニコニコやってるいちい++だったし、ピザーラのピザじゃなくてサルヴァトーレのピザはやっぱり上手くて沢山くってしまった。 っていう話は置いといて、一通り終わって歓談タイムに突入した時に、もりよしさんが昨夜思いついた inokodb っていう素晴らしいストレージエンジンを、その場で実装してて LT して

  • 転職等、状況のご報告

    一部の関係者や、勘の鋭い方はお気づきだと思いますが、11月にPerconaを辞して、12月よりInnoDB teamの一員として働くこととなりました。XtraDB等Perconaの製品については少なくとも現職にある限りは、関与することは今後基的にありません。 XtraDBは私にとっては、InnoDBという優れたアーキテクチャの持つポテンシャルを引き出す手段を素早く積極的に世に問うための重要なチャネルでした。しかし利用者が増えるに連れ、利用者や会社にとっては製品としての位置づけが強くなってしまったようです。この立場の違いが、開発の方針のあらゆる面での意見の相違を生んだと思います。迅速な進歩を失ってしまっては、永続的な存在意義は無いと、例え現在満足していても、将来問題に直面したときに小手先で解決できることなどもう無いのです、先に手を打たなければ。体裁を気にして将来の継続的なメンテナンスコスト

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • UDF Repository for MySQL

    Extend your MySQL server with additional functions What are UDFs? Learn more Join us! Propose a new library Follow us on Twitter! @mysqludf

  • SystemTapでMySQL 5.5のDisk I/Oを分析する - SH2の日記

    2010年1月の記事SystemTapでMySQLのDisk I/Oを分析するの続きです。以前作成したSystemTapスクリプトは、実はMySQL 5.5のDisk I/Oを分析することができませんでした。というのも、MySQL 5.5からInnoDBが非同期I/Oを行うようになったのですが、以前のスクリプトは非同期I/Oに対応していなかったためです。日はMySQL 5.5におけるInnoDBの非同期I/Oについて、確認していきたいと思います。 非同期I/Oとは 非同期I/Oとは、I/O処理をブロックされることなしに行う方式のことです。通常のI/O処理はそれが完了するまで待たされてしまうのですが、非同期I/Oを用いることでI/O処理の完了を待つことなしに他の処理を進めることができます。以下のウェブサイトでとても詳しく解説されています。 バッファキャッシュとAIO(1) - O'Reil

  • やったーJavaScriptの動くMySQLできたよー - 愛と勇気と缶ビール

    ※ネタです ※UDFです Mysql 5.1 Plugin Development 作者: Andrew Hutchings,Sergei Golubchik出版社/メーカー: Packt Publishing発売日: 2010/08/30メディア: ペーパーバック購入: 1人 クリック: 45回この商品を含むブログ (2件) を見る しばらく積ん読していたこのをちょっと眺めてみたら、MySQLのUDFって簡単に作れるんだなー、と思った && そういやV8ってライブラリとして簡単にリンクできるはずだな、と思い出した ので、ついカッとなって作った。 http://github.com/zentooo/mysqludf-jseval UDFうんぬn ほとんど↑のの受け売りになるけど、一応MySQLのUDFについて備忘録代わりに軽く紹介しておくと UDFを追加する場合、MySQLの再コンパイ

    やったーJavaScriptの動くMySQLできたよー - 愛と勇気と缶ビール
  • 大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック

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

    大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
    xaicron
    xaicron 2011/06/16
    よくまとまってる
  • MySQLでALTER TABLE文の進捗状況を確認する - SH2の日記

    MySQLでテーブルへのカラム追加やテーブルの再編成を行うには、ALTER TABLE文を使用します。MySQLのALTER TABLE文は、変更後の定義にもとづく作業用テーブルを作成し、変更前のテーブルから作業用テーブルへデータをコピーして、最後に二つのテーブルを入れ替えるという仕組みになっています。テーブルへのインデックス追加についても、現在のところ大半のケースで内部的にALTER TABLE文が実行されています。 ALTER TABLE文の怖いところは、処理がもうすぐ終わるのかどうかが分からないところです。テーブルサイズが1GBを超えるあたりから分単位の時間がかかるようになり、100GBともなると当に終わるのか?と見ていて不安になります。メンテナンス時間が限られている場合は、作業を中断すべきかどうか難しい判断を迫られることもあります。 実は、というほどではありませんが、ALTER

    MySQLでALTER TABLE文の進捗状況を確認する - SH2の日記