タグ

MySQLに関するd4-1977のブックマーク (68)

  • MySQLのsjisとcp932の違い - tmtms のメモ

    今さらですけど、自分でもちゃんと把握してなかったので調べてみました。 MySQLのCharsetのうちシフトJIS系のものはsjisとcp932の二つあります。 どちらもコードの範囲は次のように同じです。 1バイト文字 0x00-0x7F, 0xA1-0xDF 2バイト文字の1バイト目 0x81-0x9F, 0xE0-0xFC 2バイト文字の2バイト目 0x40-0x7E, 0x80-0xFC 違いは文字集合です。1バイト文字はどちらも同じ(ASCII + JIS X 0201 カナ)ですが、2バイト文字はsjisはJIS X 0208 で、cp932はWindows-31Jです。 sjisに含まれていない文字 cp932はsjisよりも文字が多く、丸囲み数字(「①」「②」「③」等)、ローマ数字(「Ⅰ」「Ⅱ」「Ⅲ」等)、組文字(「㍉」「㌍」「㍻」等)、その他「彅」「髙」等の JIS X 0

    MySQLのsjisとcp932の違い - tmtms のメモ
  • データベースリファクタリングについて話をしてきた #OSO2017 - そーだいなるらくがき帳

    岡山にはオープンセミナー岡山と言う最高のイベントがあります。 okayama.open-seminar.org 昨日は id:t-wada さんや id:naoya さんの資料がホットエントリー入りしてました。 この登壇はそれと同じイベントになります。 その他の方も超豪華講師陣の中で、私が出来る精一杯の経験も踏まえたお話をさせていただきました。 speakerdeck.com この中で出て来る、データベースリファクタリングは当に素晴らしいです。 OracleベースなのですがMySQLだろうがPostgreSQLだろうが必ずためになるです。 ですが、このは既に廃刊になっており再販の予定もありません… 僕は後世に絶対必要なの一つだと思っているので再販のためにも皆さんの要望の声を上げていただけるとうれしいです。 そしたらもしかしたらが世に復活するかもしれません。 またSQLアンチパタ

    データベースリファクタリングについて話をしてきた #OSO2017 - そーだいなるらくがき帳
    d4-1977
    d4-1977 2017/05/21
    データーベースリファクタリングをする時が来るんだろうか?
  • MySQL と寿司ビール問題 - かみぽわーる

    MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる に関連するトピックで、 MySQL には寿司ビール問題というのがある。 寿司ビール問題どっかで詳しくお話を聞くべきだよなぁ。。。— RKajiyama (@RKajiyama) March 18, 2015 これはどういう問題かというと、 MySQL の Unicode では binary collation にしてコードポイントで比較しないと🍣と🍺に限らず絵文字が同値判定されるという問題です。 あれ? MySQL の utf8mb4 charset って、4バイト文字同士を比較すると同じ文字扱いされる? SELECT '🍣'='🍺' → 1 MySQL的には寿司とビールは同じ扱い。— とみたまさひろ (@tmtms) December 22, 2014 MySQLで select

    MySQL と寿司ビール問題 - かみぽわーる
  • HonestyWorks TechNote » MySQLのレプリケーションが不整合になってしまったときの再構築手順

    概要 先日MySQLのMaster-Slaveレプリケーションが何かの拍子に機能しなくなっていることがわかりました。 このような状況に陥ったときの修正手順についてまとめてみます。 環境: Debian lenny MySQL 5.0.51 1台のマスタから1台のスレーブに対してレプリケーションしている構成 修正前のSlave状態 まず、現在のSlaveの状態を確認します。 mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Master_Host: xxx.xxx.xxx Master_User: repl Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysqld-bin

    d4-1977
    d4-1977 2015/02/25
    Nagiosでのレプリケーション監視
  • Rails4 + Fluentd + MySQL でランキング機能作ってみた - 筋肉とエンジニアリングで すべてを解決するブログ

    アクセスランキングを作ってみよう! 今、Rails4 を使ってアクセスログからランキング作ってみたいなぁーと思ってたんですが、みんなどうやってんだろうって聞いてみたところ、 Fluentd ってのを組み込むだけで簡単に集計とかできるよーって話だったので、使ってみました。 Fluentd とは まず読み方は、 「ふるーえんとでぃー」であって、「ふるーえんど」とかじゃないっぽいです。d はたぶんデーモンの d 。 色々説明面倒なんで省略しますが、ログ収集元とか出力先が簡単に設定できて、自分の欲しい形でログ保持できますよーって感じっぽい。なので、 「シェルスクリプトで処理した tail の処理結果をファイルに」「nginx から出力されたアクセスログを mongoDB に」とかそういう処理を自前で書く必要なく、簡単な設定だけでいけちゃう。 詳しくは → 柔軟なログ収集を可能にする「fluentd

    Rails4 + Fluentd + MySQL でランキング機能作ってみた - 筋肉とエンジニアリングで すべてを解決するブログ
  • ログ集計システムを自前で作る - Y's note

    Index ログ集計システムの要件 DB設計 データ保存方針 table設計 サーバ構成 Fluentd fluentd,fluent-plugin-mysql-bulk install td-agent.conf mysqlにデータが格納される事を確認する 集計用のバッチ その他 Table肥大化防止 可視化 ログ集計システムの要件 爆弾ログ処理班の@yutakikuchi_です。 ログ集計システムというものを作る時に皆さんはどのように対応していますか? 以下の候補から要件のレベルで使い分けをしている人が多いと予想しています。ざっくりの評価ですが、導入難易度、正確性、可視化、リアルタイム、長期集計、スケール、運用費用という点で評価を書いています。 ツール 導入難易度 正確性 可視化 リアルタイム 長期集計 スケール 運用費用 リンク GA(スタンダード) ○ × ○ ○ ○ ○ ○ Go

    ログ集計システムを自前で作る - Y's note
  • MySQL管理ソフト「Sequel Pro」が本格的にヤバい | Mac教信仰中!!

    先日、MySQLの管理ソフトを探していたところ、まさしく神じゃないかというソフトを発見しました。以下のサイトで、紹介されていました。 高機能なMySQLフロントエンド「Sequel Pro」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ http://www.moongift.jp/2008/06/sequel_pro/ それが、「Sequel Pro」です。 Sequel Pro http://www.sequelpro.com/ 「Sequel Pro」は、Mac用に開発されたオープンソースのソフトウェアです。ただ、オープンソースと言っても、高機能すぎて、無料であることを疑ってしまいます。そんじょそこらのオープンソースのソフトウェアと同じように考えないでください。 ダウンロードしたら、まずは起動してみましょう。MySQLサーバの情報を入力して

    MySQL管理ソフト「Sequel Pro」が本格的にヤバい | Mac教信仰中!!
    d4-1977
    d4-1977 2014/01/03
  • データベース負荷テストツールまとめ(3) - SH2の日記

    データベース負荷テストツールまとめの第3回です。 データベース負荷テストツールまとめ(1) TPC-B、TPC-Wベースのツールを6つ紹介 データベース負荷テストツールまとめ(2) TPC-Cベースのツールを6つ紹介 かなり期間が空いてしまいましたが、今回はTPC-Hベースのツールを見ていきたいと思います。 TPC-Hとは TPC-HはRDBMSベンチマーク仕様の一つで、意思決定支援システム(DSS)としての性能を測定するものです。大規模なデータを対象にアドホックなクエリを実行します。クエリは全部で22種類定義されています。 TPC-HはTPC-B/W/Cなどと異なり、実行するクエリそのものやテストデータ生成ツールがTPCから提供されています。試しに、一番負荷が高い9番のクエリを確認してみましょう。 -- $ID$ -- TPC-H/TPC-R Product Type Profit Me

    データベース負荷テストツールまとめ(3) - SH2の日記
  • GitHub - xaicron/mysqlenv: mysql binary manager

    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 - xaicron/mysqlenv: mysql binary manager
  • 社内勉強会で MySQL 入門的なはなしをしてきた | Born Too Late

    社内で, 主に MySQL 初学者を対象とした勉強会をやってきました. 社内勉強会ということで, というと言い訳になりますが, いつも以上にゆるふわな内容となっています. 改めて見るとソースどこだよ? っていう情報がいくつかあるので反省. (「RDBMS を使いつつ, NOSQL で最適化というパターンがほとんど」とかどこのことだよと. まぁ Tumblr とかはそれにあたるみたいですが) あと, インデックスの仕組みを単純化して話すために B-Tree じゃなくて Binary Search Tree について紹介してますが, この辺も詳しい方の突っ込みが欲しい所です. ところで勉強会に参加していてよく思うのですが, 勉強会というのは自分で発表してナンボだということです. これは勉強会で人の話を聞くのは意味が無い, ということではなくて, 自分で調べたときの方が 30 倍ぐらい身に付くん

    社内勉強会で MySQL 入門的なはなしをしてきた | Born Too Late
  • MySQLでSQL_CALC_FOUND_ROWSとFOUND_ROWSを使うと速いの? « ku

    速いです。 FOUND_ROWS() を使うと直前のLIMITつきSELECTでLIMITしなかったときに帰ってきたはずのレコード数が得られるのでページネーションしたいときに便利。でも SELECT のあとに SQL_CALC_FOUND_ROWS を入れとかないといけないというルールがある。 SELECT COUNT(*) .... するよりも高速ですよ、ってマニュアルには書いてあります。 書いてあるのをなんでそんなことを確認したくなったかというとcakePHPのSELECTステートメントを構築する部分が cake/libs/model/datasources/dbo_source.php で function renderStatement($data) { extract($data); return "SELECT {$fields} FROM {$table} {$alias}

    d4-1977
    d4-1977 2012/02/29
    SQL_CALC_FOUND_ROWSの話
  • mysqlのSQL_CALC_FOUND_ROWS で LIMIT句なしで書かれた行数を取得 - end0tknr's kipple - web写経開発

    http://d.hatena.ne.jp/ZIGOROu/20091126/1259218194 http://dev.mysql.com/doc/refman/5.1/ja/information-functions.html#function_found-rows mysqlって、SQL_CALC_FOUND_ROWS で LIMIT句なしで書かれた行数を取得できるんですね。 ということは、Data::Pageと組み合わせて、次のように書けばいいのかな? use Data::Page; my $PER_PAGE = 50; #1page毎の表示件数 sub get_item_list { my ($self,$pno) = @_; #とりあえず、total size = $pno * $PER_PAGE にしときます my $page = Data::Page->new($pno *

    mysqlのSQL_CALC_FOUND_ROWS で LIMIT句なしで書かれた行数を取得 - end0tknr's kipple - web写経開発
    d4-1977
    d4-1977 2012/02/29
    SQL_CALC_FOUND_ROWSの話
  • SQL_CALC_FOUND_ROWS を毎回忘れるのでメモっておく件 - 日向夏特殊応援部隊

    LIMIT 〜 OFFSET なんか使う SELECT 文をページ送りとかしたい場合、全体の件数が必要だったりして、 SELECT * FROM people LIMIT 50 OFFSET 0; SELECT COUNT(guid) FROM people; みたいな感じの事やりたい訳だけど MySQL の場合だと、そういう枠組みがあるんですよね。 MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.10.3 情報関数 - FOUND_ROWS() さっきのクエリはこんな風になる、 SELECT SQL_CALC_FOUND_ROWS * FROM people; SELECT FOUND_ROWS(); これ、使いたいなと思った時に毎回忘れてググってたので備忘録として書いた。

    SQL_CALC_FOUND_ROWS を毎回忘れるのでメモっておく件 - 日向夏特殊応援部隊
    d4-1977
    d4-1977 2012/02/29
    SQL_CALC_FOUND_ROWSの話
  • MySQL 5.1のmysqldumpslowで快速チューニング - SH2の日記

    MySQL 5.1のmysqldumpslowを使うとチューニングが楽になる!という話題です。 mysqldumpslowはもともとMySQLに付属しているツールで、スロークエリログを集計してくれるものです。これ自体はMySQL 5.1で特に変わったところはありませんが、スロークエリログ体の方が機能強化されているため、組み合わせるとなかなか便利になっています。MySQL 5.1におけるスロークエリログの主な機能強化は以下の三点です。 long_query_timeに1秒未満の値を設定できるようになった。 出力先を設定できるようになった。 これらの設定をオンラインで変更できるようになった。 これでどうなるかというと、MySQLの性能分析をしたいと思ったときに、サーバを止めずにその場で mysql> set global slow_query_log = 1; mysql> set glob

    MySQL 5.1のmysqldumpslowで快速チューニング - SH2の日記
  • ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門 広く浅くを担当してます、ota です。 技術ブログ第一回から早速流用スライドで申し訳ありませんが、社内勉強会資料として作成した「MySQL INDEX + EXPLAIN入門」です。 当社でもソーシャルゲームの開発を行っていますが、このような大量のデータを使用する・クエリの速度が求められる場合にインデックスは大変重要です。 インデックスの有効な利用にはDB設計者だけではなくプログラマにもある程度の知識が最低限必要となりますが、インデックスについての初心者向け資料があまりないようです。 このスライドではプログラマに知っておいて欲しい以下の基的な点をまとめました。 INDEXを使用する時に気をつけること WHERE句 !=、<>はインデックスが使用できない WHERE句の全てのANDにかかっていないイン

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル | さくらたんどっとびーず

    2011年はサーバサイド JavaScript の年! サーバサイド JavaScript命は node.js! ということで割と普通のウェブアプリケーションを node.js で作るためのチュートリアルを書いてみました。WebSocket とか新しめの話題は結構見ますが、PHP とかで普通のウェブアプリ作ってる人向けのチュートリアルとかあんま見ないような気がしたので、って感じです。 チュートリアルの内容ですが、コード量が少なめで機能的にも分かりやすそうなモノということで、短縮 URL ウェブアプリケーションを作ってみることにしました。bit.ly とか t.co とか nico.ms みたいなアレです。短縮 URL のデータは MySQL に保存します。 結構長文になっちゃったので、先に目次置いときます。 node.js のインストール npm (Node Package Mana

    node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル | さくらたんどっとびーず
  • 本番DBと開発DB(stg)のtable構成の差分をチェック

    MySQL用なんですけどー。 zsh限定なんですけどー。 diff =(mysql -uuser -ppass proj -e 'show create table bar\G') =(ssh db 'mysql -uuser -ppass proj -e "show create table bar\G"');こんなコマンドを打ち込めば、 6d5 < `mobile_id` varchar(255) NOT NULL default '', 13,14c12 < KEY `member_id` (`member_id`), < KEY `mobile_id_idx` (`mobile_id`) --- > KEY `member_id` (`member_id`)的な差分が見れます。 シェル組んでプロジェクトの全テーブルをチェックできるようにすりゃいいかなーってかんじです。 参考)h

  • MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup

    スナップショットを使えばとある瞬間のディスクやファイルシステムのデータをいつでも後から参照することができる。しかもスナップショットの作成は一瞬だ。スナップショット機能を活用すれば最強のオンラインバックアップソリューションが出来るだろう。 しかし、スナップショットでバックアップを取るなんて危険な操作じゃないのか?!と不安に思われる方もいらっしゃるかも知れない。MySQL Serverが稼働中にいきなりデータだけをとってくるのだから、そのような疑問を持たれるのは頷ける。しかし仕組みさえ分かればスナップショットによるバックアップは怖くないということが分かるはずだ。そこで、まずはスナップショットによるバックアップの仕組みについて説明する。スナップショットを取る際の要件は次の通りである。 全てのデータを単一のボリュームに置くこと。つまり、一回のスナップショット操作でバックアップが取れることだ。 ディ

    MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup
  • ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering

    こんにちはこんにちは。最近お腹痛いばっかり言ってることで有名なiwanagaです。 DeNAは外部的にはプラットフォーム的な部分の方がフィーチャーされることが多いですが、実はソーシャルゲームの提供も行っています。怪盗ロワイヤルとか、どこかで聞いたことがあるのではないでしょうか。 僕はDeNAでソーシャルゲームが誕生した辺りからずっとサーバサイドを見てきましたが、そんな運用の中で自分が貯めてきた知見とかTIPSをご紹介したいと思います。 かれこれ10タイトル近くはレビューしたり運用したりしてるため結構言いたいことはいっぱいあるので、小出しにしつつ評判よければ次も書きます。 ソーシャルゲームのためのMySQL入門一覧 ソーシャルゲームのためのMySQL入門 - Technology of DeNA ソーシャルゲームのためのMySQL入門2 - Technology of DeNA 「MySQL

    ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering
    d4-1977
    d4-1977 2010/11/15
    DBに関する知識は、いつでも必要なんだろうなあ
  • AUTO_INCREMENTの値をリセットする方法【MySQL】 - Programming Magic

    AUTO_INCREMENTの値をリセットするには以下のようにALTER TABLEでできる。 ALTER TABLE <テーブル名> AUTO_INCREMENT = 1; ALTER TABLE test AUTO_INCREMENT = 1; ALTER TABLE sample AUTO_INCREMENT = 1; このとき、AUTO_INCREMENTの付いたカラムに1以上の値を持ったレコードが存在すると、その値以下には設定できない。 例えば、以下のようなデータがあると5以下には設定できないが、6以上には設定できる。 > select * from newspaper; +----+--------+ | id | name | +----+--------+ | 1 | 毎日 | | 2 | 読売 | | 3 | 毎日 | | 5 | 日経 | +----+--------+

    d4-1977
    d4-1977 2010/10/13
    そうだったのか。悩んでました