タグ

mysqlに関するgoto553のブックマーク (25)

  • 第5回 位置情報を保存しよう(前編):位置情報サービスのはじめ方|gihyo.jp … 技術評論社

    今回から2回に分けて、位置情報をDatastoreに格納する方法をいくつか紹介します[1]⁠。 数値型で保存する 緯度経度の情報をデータベースへ格納するときに、もっとも簡単な方法が数値型として保存する方法です。緯度経度がとりうる値の範囲は、以下の通りですので、システムに必要な小数点以下の数字を考慮して型を決めましょう。 はてなフォトライフでは、写真に緯度経度のメタ情報を設定することができますが、高精度な緯度経度情報は必要ないので、型を以下のように指定しています。 latitude decimal(7,4) longitude decimal(7,4) decimal(7,4)という指定は、10進数で7桁のデータで、小数点以下は4桁まで格納するというものです。 あるオブジェクトの緯度経度を保存し、表示するだけならこれだけで十分ですが、位置情報を中心に扱うサービスになると、格納したデータを緯度

    第5回 位置情報を保存しよう(前編):位置情報サービスのはじめ方|gihyo.jp … 技術評論社
  • ソーシャルゲームのためのMySQL入門その2 | BLOG - DeNA Engineering

    こんにちはこんにちは。11インチMacBook Airが欲しくてたまらないiwanagaです。 前回の記事 が幸いにもご好評を頂けた様で非常にうれしいです。嬉しくなって、ついがんばって第2弾を書いてしまいました。引き続き、ソーシャルゲームでよく使われるテーブルタイプ毎にちょっとしたテクニックを紹介していきます。 今回はちょっとライトな感じ&読み物になってしまっていますが「ユーザID単位で1つだけ持つデータ」と「パラメータなどのマスターデータ」についてご説明したいと思います。ちなみに次回はInnoDBのデータ構造の簡単な説明と複合プライマリーキーのデータについて、その次で紹介し損ねたちょっとマニアックなテクニックや性能管理のための手法を紹介することを予定しています。 その前に。。。 先日行われた JAPAN INNOVATION LEADERS SUMMIT で弊社松信が「ソーシャルゲーム

    ソーシャルゲームのためのMySQL入門その2 | BLOG - DeNA Engineering
  • MySQLでIPアドレスを記録する方法 - public static void main

    INET_ATONとINET_NTOAというMySQLの関数を使います。 INET_ATON ・・・ IPアドレスを10進数のint型の数字に変換(192.168.0.1 ⇒ 3232235521) INET_NTOA ・・・ 10進数のint型の数字をIPアドレスに変換(3232235521 ⇒ 192.168.0.1) CREATE TABLE test( ip_address int(10) unsigned ) こんなテーブルを作ってデータを入れる時は、 INSERT INTO test VALUES(INET_ATON('192.168.0.1')) のようにします。 selectするときは、 SELECT INET_NTOA(ip_address) FROM test WHERE ip_address = INET_ATON('192.168.0.1') とします。 容量の節約

    MySQLでIPアドレスを記録する方法 - public static void main
  • ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering

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

    ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering
  • 漢(オトコ)のコンピュータ道: モダンなMySQLの開発環境の構築方法

    遅ればせながら モダンな Perl の開発環境の構築方法 モダンなPHPの開発環境の構築方法 モダンなPythonの開発環境の構築方法 モダンな Java の開発環境の構築方法 に続いてみる。MySQLは言語じゃないけど。 コンパイラ等MySQLをソースからビルドするのでなければコンパイラ等は必要ないけど、どうせアプリ開発に必要なので「MySQLなんかいつでもハックしてやるぞ!」という意気込みを示すために入れておこう。OSXならXcode、LinuxならGCC。最新のソースコードじゃないとヤダ!という粋な人にはBazaarのインストールもお勧めしたい。Bazaarは言わずと知れた分散バージョン管理システムであり、MySQL開発チームも採用している。最新のソースコードは次のコマンドでゲット可能だ。 shell> bzr branch lp:mysql-server/5.1 mysql-5.1

    漢(オトコ)のコンピュータ道: モダンなMySQLの開発環境の構築方法
  • MySQL InnoDBだけで全文検索 - SH2の日記

    実験エントリです。 予習してみる 「転置インデックス」というキーワードで検索して、しばらく勉強してみます。 転置インデックス - Wikipedia mixi Engineers’ Blog » 転置インデックスを実装しよう ASCII.jp:悟空、秘剣「転置インデックス」を手に入れる |Googleはなぜ的確に探せるのか? [を] 転置インデックスによる検索システムを作ってみよう! 転置インデックスで学ぶ検索エンジンの中身アプリ - 睡眠不足?! うーんなるほど。分かったような分からないような。 作ってみる とりあえず、Twitter4Jを使ってこんなデータを用意しました。ちなみに人選は漢(オトコ)のコンピュータ道: MySQLerのTwitterアカウントまとめ。を参考にさせていただきました。 5707049458,2009-11-14 20:28:34,sakaik,@hbstudy

    MySQL InnoDBだけで全文検索 - SH2の日記
  • mysqlでいちいちshow databasesとか打つのがめんどい→readlineのマクロで解決 - (ひ)メモ

    MySQLでいちいちshow tables;とか打つのがだるい。\tみたいなalias設定できないのかなぁ http://twitter.com/weboo/status/1658300902 おぉ、readlineのマクロを使えばいいのかー http://twitter.com/weboo/status/1658314333 なるほ!ってことでちょっと設定してみました。 # ~/.inputrc $if mysql "\C-xd": "show databases;" "\C-xt": "show tables;" "\C-xu": "select user,host,password from mysql.user order by user,host;" "\C-xb": "select user,host,db from mysql.db order by user,host;"

    mysqlでいちいちshow databasesとか打つのがめんどい→readlineのマクロで解決 - (ひ)メモ
  • レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン - (ひ)メモ

    MySQLで、レプリケーションベースのHAな構成について考えたメモです。 3台(というか2台+1台)がいいかなぁと思っていて、前半はその理由を、後半では{マスタ,スレーブ}が{再起不能になった,ちょっとダウンしてすぐ復帰した}場合のリカバリプランについて書きます。 今のところはこれがベストかなと思っているのですが、「こうしたほうがいいと思う!」「ここがおかしい!」などなどのご意見はコメント、TBなどでいただけるとうれしいです。 ゴール マスタが落ちてもぐーすか寝ていられるようにしたい リカバリの作業はできるだけ単純に、かつ、短時間で完了するようにしたい めんどくさいのはいや 基構成、方針 2台+1台 サービスで使うのは2台 (db1, db2) もう1台は管理用 (db3) スレーブを多数並べる構成にはしない 台数増えると管理コストが上がる マスタダウン時のフェイルオーバとそのフェイルバ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン - (ひ)メモ
  • 実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン でも掲げたゴールである、「マスタが落ちてもぐーすか寝ていられるようにしたい」がほぼできたので、ほとんどサービスが停止することなく、フェイルオーバする様をスクリーンキャストに収めました。 埋め込みプレイヤーだと、小さくてわからないと思うので、リンク直接でみてください。 http://www.irori.org/pub/mysql-mm.mov 登場するホスト 登場するホストは2台、db901db902です。 最初は、db901が更新系クエリを受けるプライマリでdb900の浮動IPアドレスを持っています。 画面分割 画面は5分割しています。 左上 = 「select sysdate(),@@server_id」をdb900に対して(sleep 1しながら)延々と実行しまくりんぐ 右上 = ping -n

    実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ
  • MySQL 便利メモ(簡単バックアップ&リストア) | ブログが続かないわけ

    MySQL 便利メモ(簡単バックアップ&リストア) | ブログが続かないわけ
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • mysql 5.1のtimestamp型におけるDEFAULT値の不思議? 再び - end0tknr's kipple - web写経開発

    http://d.hatena.ne.jp/end0tknr/20090403/1238753081 以前のエントリで、timestamp型のDEFAULTに関して記載しましたが、今回は update時の不思議?を記載しておきます。 尚、今回のtestでは、次のようなtableを使用します。 mysql> desc time_test; +----------+-----------+------+-----+---------------------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-----------+------+-----+---------------------+-------+ | id | int(11) | NO | PRI | NULL | | | time_va

    mysql 5.1のtimestamp型におけるDEFAULT値の不思議? 再び - end0tknr's kipple - web写経開発
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • Kazuho@Cybozu Labs: Perl から MySQL に非同期アクセスする方法

    « サーバシグニチャは隠さないのが当たり前 | メイン | swifty-0.02 と Perl バインディング » 2007年09月10日 Perl から MySQL に非同期アクセスする方法 mod_perl のプロセス内でやるのに POE でイベントループ回せ、ということ? もうちょいkwsk! > b:id:kazuhooku naoyaグループ - naoyaの日記 - 非同期SQLサーバ エントリ全体の趣旨はさておき、ソケット通信を非同期化するためにまた別のソケット通信を行うという使用例に違和感を覚えたのですが、回避策としてブクマコメントで提示した POE::Component::EasyDBI も内部で fork (&プロセス間通信) してるんですね。変なコメントしてごめんなさい忘れてください。って、それだけではなんなので... ここから題。 私はそういうケースに遭遇したこ

  • MySQL::Sandbox (2) - 日向夏特殊応援部隊

    MySQL::Sandbox - Yet Another Hackadelic の続きです。 make_replication_sandbox でレプリ環境をサクっと作る レプリ環境もサクっと作れます。前と同じバイナリがあるとしたら、 $ make_replication_sandbox /home/zigorou/tmp/mysql-5.0.82-linux-i686-glibc23.tar.gz executing "clear" on slave 1 executing "clear" on slave 2 executing "clear" on master installing and starting master installing slave 1 installing slave 2 starting slave 1 . sandbox server started s

    MySQL::Sandbox (2) - 日向夏特殊応援部隊
  • MySQL::Sandbox - 日向夏特殊応援部隊

    MySQL::Sandbox はお手軽に MySQL のサーバーを立ち上げるツールで、ちょっとしたテスト環境を構築するとかに非常に便利なプロダクトです。 とりあえずインストール $ sudo cpan -i MySQL::Sandboxでインストールしてから OS ごとの実行バイナリをダウンロードします。自分の手元の VM は CentOS 5.2 なので、mysql-5.0.82-linux-i686-glibc23.tar.gz をダウンロードしました。 まずは レシピ の最初にあるように make_sandbox してみます。 $ make_sandbox /path/to/mysql-5.0.82-linux-i686-glibc23.tar.gzそうすると /home/zigorou/sandboxes 以下にサンドボックスが出来てます。ついでに mysqld も立ち上がっていま

    MySQL::Sandbox - 日向夏特殊応援部隊
  • MySQLのrootのパスワードを忘れた場合に変更する方法メモ - uncertain world

    前任の人がrootのパスワード残さないまま居なくなって、 とっても困ったので(grantできない)、 初期化する方法見てたんだけど、日語マニュアルのじゃ治らなくて、 家の方みたら治った > UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; > FLUSH PRIVILEGES; これでMyNewPassに新しいパスワード入れればokみたい。 ・MySQL :: MySQL 5.1 Reference Manual :: B.1.4.1 How to Reset the Root Password http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html ・5/31追記 なぜかホッテントリに上がってしまっていたので、ちょっ

    MySQLのrootのパスワードを忘れた場合に変更する方法メモ - uncertain world
  • データベースを用いたセッションデータ管理について - LukeSilvia’s diary

    Web アプリケーションとは切っても切れないセッション機構。DB ベースでセッション管理を行なって得られた知見と、それを元に考察した結果をまとめてみます。 セッションデータの特性 DB で管理される他のデータに比べ、セッションデータはかなり特殊です。主な特徴は次のような感じ。 データが増加するのが速い 定期的な削除が必要 頻繁に更新される リクエスト毎に読みに行く必要がある このデータを読めないとアプリケーション全体にアクセスできない アクセス頻度が高いということです。あと、1つ目の特徴からセッションデータについては意識的に管理してやる必要があります。 現在の環境 アプリケーションの領域が少し特殊で、セッションデータがやたらたまります(ユーザ数何百万のサービスとかそういうのではないです)。 RDBMS MySQL 4.0.22 ストレージエンジン InnoDB レコード数 6千万 テータサ

    データベースを用いたセッションデータ管理について - LukeSilvia’s diary
  • 漢(オトコ)のコンピュータ道

    ※この記事は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について解説しよう。

    漢(オトコ)のコンピュータ道
  • Yahoo!オークションでのMySQL 冗長化技術

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちはオークション事業部プラットホーム技術のチャックです。 オークションでは一部サービスに RDBMSMySQL を使ってサービスをご提供させていただいております。 オークションでは多くのお客様よりアクセスを頂いておりますので、大量の更新、参照の処理速度に優れた MySQL を選択し、お客様にストレスなくサービスをご利用いただけるよう 日々業務に取り組まさせていただいております。 しかし、精密機器には故障がつきもので、サービス運用の観点からは 「機器が故障するのはしかたない、しかしそれをいかに早く復旧させるか」 といったことを念頭に入れております。 実際には、障害が起こってから復旧させるのではなく、障害が発生した場合に

    Yahoo!オークションでのMySQL 冗長化技術