タグ

mysqlに関するtakeodonのブックマーク (28)

  • Node.jsからMySQL接続のメモ(とnode-mysql2) - Qiita

    'use strict'; let mysql = require('mysql'); let connection = mysql.createConnection({ host : 'your host name', user : 'your user name', password : 'your password', port : 3306, database: 'your database name' }); connection.connect(); connection.query('SELECT * from tabale_name LIMIT 10;', (err, rows, fields) => { if (err) throw err; console.log('The solution is: ', rows); }); connection.end(); ちなみ

    Node.jsからMySQL接続のメモ(とnode-mysql2) - Qiita
  • DB 設計時のサイズ見積り[最新版] - Qiita

    こんにちは、すっかり秋ですね!@yone098 です。 みなさんDBの設計してますか? DB設計時のサイズ見積り 以前はてなダイアリーで書いた記事は5年前のものであり、リンクが切れているものがあるので最新版として MySQL, PostgreSQL, Oracle, SQLServer におけるDB設計時のサイズ見積りをまとめ直しました。 URL内のバージョン表記を変えると以前のバージョンの情報になります。 MySQLは、あまり情報に変化は無かったので Excel でマクロなどを作成して自社で自動算出出来るようにするのが良いと思います。 データタイプごとに必要な要求ストレージが決まっているのでレコードサイズが決まり、あとは要件次第で何レコードになるかを予測します。 データタイプごとに必要な記憶容量 テーブルの最大サイズ関連 http://dev.mysql.com/doc/refman/5

    DB 設計時のサイズ見積り[最新版] - Qiita
  • 誰も教えてくれなかったMySQLの障害解析方法 - Qiita

    それほどDBに詳しくないアプリエンジニアが何かトラブった時にすぐさま行動して問題把握できるようになる情報を列挙しておきます。 開発時、障害時の対処療法やちょっとした定期監視方法などを対象にしています。 抜的な対策などはインフラエンジニアさんにお任せしたほうがいいと思います。 DBはいろんな意味でこわいんでできれば触りたくないです>< 事前確認 MySQLサーバーのシステム設定値を確認しておく 以下のようにサーバーのシステム設定値を確認できます。 mysql> SHOW GLOBAL VARIABLES; # ワイルドカード(%)を用いた絞り込み mysql> SHOW GLOBAL VARIABLES LIKE 'performance_schema%'

    誰も教えてくれなかったMySQLの障害解析方法 - Qiita
  • MySQLバックアップの基本

    バックアップ勉強会#2 (#bkstudy) での発表資料です。 http://atnd.org/event/bkstudy02 MySQLバックアップの基的な内容についてまとめています。Read less

    MySQLバックアップの基本
  • MysqlのDATE_FORMAT関数をもっと早く知っていれば | 株式会社フォレスト・コンサルタンツ

    ※以前別の場所で書いた文章を備忘的に書き記しておきます。 売上を日時別に集計をする際、どうやってグループ化すればいいかちょっと悩んでいたところ、Mysqlのマニュアルを見た途端にあっさり解決。DATE_FORMAT関数を使って日付データを加工すればOKでした。 備忘的に具体例を記載しておきます。(※日時を格納しているフィールド「time」の型はdatetime) //【年別に集計】 SELECT id, DATE_FORMAT(time,'%Y年') as time1 FROM table1 GROUP BY time1 //【月別に集計】 SELECT id, DATE_FORMAT(time,'%Y年%m月') as time2 FROM table1 GROUP BY time2 //【日別に集計】 SELECT id, DATE_FORMAT(time,'%Y年%m月%d日') a

  • http://www.2ch-search.net/blog/3

  • Big Sky :: VimでDBが操作できる vdbi-vim 作った。

    DB操作ツール Emacs DBI を作ってみた - 技術日記@kiwanami このツールの目的は、クロスプラットフォームで便利なDB操作環境を実現することです。 pgAdmin や MySQL Query Browser のようなGUIの良さをCUIで実現してみようとしてみました。すなわち、ぼくのかんがえたさいきょうのDBツールです。ちなみに、このツールにとってEmacsはただの実行環境です。Emacs使わない人でも使うと便利だと思います。 http://d.hatena.ne.jp/kiwanami/20120305/1330939440 VimもーVimもー! って事で作りました。 mattn/vdbi-vim - GitHub Database client for Vim https://github.com/mattn/vdbi-vim Emacs版はepcというRPCプロト

    Big Sky :: VimでDBが操作できる vdbi-vim 作った。
  • MySQLにおけるレプリケーション遅延の傾向と対策

    レプリケーションはMySQLで最もよく使われる機能のひとつだ。レプリケーションは基的に非同期でデータの複製を行う仕組みになっているのだが、非同期故にどうしても逃れられない問題がある。そのひとつが今回のテーマ、遅延である。というと、MySQLのレプリケーションはすぐに遅延が生じてしまうように感じてしまうかも知れないが、そのようなことはない。ほとんどの場合は即座にスレーブの更新が行われる。 なぜ遅延は発生するのか、どのように遅延が起きていることを調べるのか、どのように回避するのかということをエントリでは解説したい。うまく遅延と付き合って、MySQLのレプリケーションをより快適に運用してもらえればと思う。 そもそも遅延とは何かMySQLのレプリケーションは非同期で行われる。これは準同期でも同じであり、スレーブにおいて更新が起きるのはマスターよりも一瞬遅れてしまう。これは非同期であるが故に逃れ

    MySQLにおけるレプリケーション遅延の傾向と対策
  • [PHPプロ!] MySQLのクエリを最適化する10のTips

    Jaslabs: High performance phpMySQL のクエリを最適化するための10のTipsが公開されています。explainを利用した一般的な方法から、SELECT・INSERTのクエリオプションを使用するような方法まで紹介されています。MySQLクエリの速度低下にお悩みの方は一度読んでみるとよいでしょう。 Jaslabs: High performance phpMySQL のクエリを最適化するための10のTipsが公開されています。explainを利用した一般的な方法から、SELECT・INSERTのクエリオプションを使用するような方法まで紹介されています。MySQLクエリの速度低下にお悩みの方は一度読んでみるとよいでしょう。 1. explainコマンドの使用 explainコマンドはクエリでどのインデックスが指定されているのか、などの情報が取得できます。 e

    [PHPプロ!] MySQLのクエリを最適化する10のTips
  • MySQLのコマンドたち - すぎゃーんメモ

    http://mysql-casual.org/2011/11/mysql-casual-advent-calendar-2011.html の6日目の記事として書かせていただきます、sugyanです。 勢いで参加表明してしまい、今日慌てて久しぶりにMySQLを触りました。 MySQLでFizzBuzz ストアドプロシージャって使ったこと無かったので初めて触ってみました。 DROP PROCEDURE IF EXISTS FizzBuzz; delimiter // CREATE PROCEDURE FizzBuzz(n INT) BEGIN DECLARE i INT DEFAULT 1; WHILE i <= n DO SELECT CASE WHEN i % 3 = 0 AND i % 5 = 0 THEN 'FizzBuzz' WHEN i % 5 = 0 THEN 'Buzz'

    MySQLのコマンドたち - すぎゃーんメモ
  • MySQLがおかしい!あなたならどうしますか? – MySQL Casual Advent Calendar 2011 - As a Futurist...

    しわっす!DBA 兼オペレーションエンジニア兼タスクマネージャやってる riywo です。何のネタを書こうかなぁと考えたのですが、正直ネタを仕込む時間もなかったので僕がいつもやってることをさらっと紹介するということで勘弁して下さい>< MySQL がおかしい! 03:14 hidek: なんかエラー出まくってるんだけど! 03:14 zigorou: MySQL と通信してるとこっぽい 03:15 riywo: 見ます こんなやりとりは皆さん日常茶飯事ですよね?ね?ね?こんな時に、DB に責任を持つものとして真っ先に対応するのが僕らの仕事です。でも、じゃあ具体的にこのあと何をしましょう?既にサービスはエラーだらけで一刻を争う状態です。 (対応開始) まずはエラーメッセージ 今回の様な場合はアプリのエラーログにどばっと MySQL に関するエラーが出ているでしょう。まずはそれを見ることが始ま

    MySQLがおかしい!あなたならどうしますか? – MySQL Casual Advent Calendar 2011 - As a Futurist...
    takeodon
    takeodon 2011/12/02
    5分、10分でここまでできるってすごい
  • DeNAが社内利用しているMySQLの自動フェイルオーバーツール、オープンソースで公開開始

    MySQLがダウンしたときに自動的に別のMySQLへ処理を引き継ぐことで、高可用性を実現するフェイルオーバーツール「MySQL-MHA: MySQL Master High Availability manager and tools」がオープンソースとして公開されたことを、作者の松信嘉範(まつのぶよしのり)氏がブログで伝えています。 Yoshinori Matsunobu's blog: Announcing MySQL-MHA: "MySQL Master High Availability manager and tools" 松信氏はモバゲーなどで知られるDeNAに勤務しており、MySQL-MHAによる自動フェイルオーバー機能はDeNAのインフラ運用を支えているとのこと。同氏のブログから引用します。 Difficulties of master failover is one of

    DeNAが社内利用しているMySQLの自動フェイルオーバーツール、オープンソースで公開開始
  • DBサーバーの負荷分散

    MySQLアクセスを負荷分散する ユーザーからのアクセス数が非常に多いWebサイトにおいて、MySQLのSLAVEサーバーを複数台並べて負荷分散させるということがよく行われています。ただ、Webアクセスの負荷分散は一般的なテーマなのでいろいろなところで語られているのに対し、DBアクセスの負荷分散というテーマは一般的でないのかあまり語られていないように感じます。 DBアクセスを負荷分散するにあたって一番荒っぽい方法は、Webサーバー上のプログラムの中でどのSLAVEサーバーに接続するかをランダムで決める方法です。ランダムと言っても長時間アクセスしているとほぼ接続先が均等化されるので、一見この方法でも問題ないように見えます。しかしこの方法だと、接続しに行こうとしたSLAVEサーバーが高負荷もしくはサービス停止中であっても構わず接続しに行ってしまうという問題があります。 このような問題を解決する

  • サロゲートキーと複合主キー | DBFlute

    一方で、Webサービス系などで論理設計と物理設計をもう一緒くたにやっていくような場合は、 正規化の論理に目の前にあるサロゲートキーを含めないようにすることが大切で、モデリングはナチュラルキーを基軸に考えていくとよいでしょう。 サロゲートキー (代理キー) サロゲートキー + (複合)ユニーク制約 ナチュラルキーをPKにせず、例えば連番となるようなカラムを用意して、それをPKにします。 これがサロゲートキーと言われるものですが、ナチュラルキーには別途ユニーク制約を付与する というのを忘れてはいけません。 ここでは、ナチュラルキーにユニーク制約を付けずにサロゲートキーだけを導入する方式は、業務的・実装的に意味はないと考え、ここでは取り扱いません。 議論の対象にすらしません。ユニーク制約を付けることで業務的なユニーク性を保ちつつサロゲートキーの恩恵を得ることができ、同時にナチュラルキーを明示する

  • MySQLをmaster:slave=1:1構成にして参照をslaveに向けるのがなぜ良くないか - 酒日記 はてな支店

    MySQLのmasterとslave 1:1にして参照をslave向けるのってやりたがる人多いみたいだけど、性能たいして上がらない割に可用性落ちるだけだからやめようキャンペーン 2011-06-19 00:16:30 via YoruFukurou MySQL はレプリケーションが簡単に構成できるのですが、時折 master 1台 に対して slave 1台、更新処理は master に、参照は slave に、という構成を目にします。 個人的にはこの構成はお勧めでないと思っているので、その理由を考察してみます。 1. 可用性が落ちる 当然ですが、master, slave のどちらが落ちても影響を受けるために可用性が低下します。 2. 全体の性能がほとんど上がらない master 1台ですべてのクエリを処理する場合と比べて、可用性が落ちる引き換えとして見合った性能向上が得られるか、という

  • 大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック

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

    大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
  • PEAR MDB2でPHPからデータベースを操作する

    はじめに PHPにはデータベースにアクセスする方法がいくつか用意されています。そのような方法の一つに、「PEAR MDB2」があります。名前の通りPEARのライブラリとして公開されています。PEARにはMDB2のほかに「DB」や「MDB」といったライブラリがあり、現在でも利用することができます。しかしながら、これらの開発はすでに終了しており、開発者はMDB2に移行することが推奨されています。 稿では、PEAR MDB2を使って、PHPからデータベースを操作する次のような基的な方法を紹介します。 PEAR MDB2を使うとデータベース管理システム(MySQLやPostgreSQLSQLite等)に依存しないコードを書くことができる。 SQLの実行には、プリペアードステートメントを使うのが基である(例外あり)。 PHPにはPEAR MDB2の他にもデータベースへのアクセス手段が数多く用

    PEAR MDB2でPHPからデータベースを操作する
  • 「優れたMySQL DBAを見分ける27+3の質問」に対する回答例

    随分と更新が空いてしまったが、「優れたMySQL DBAを見分ける27+3の質問」に対する回答例(漢バージョン)を紹介しよう。実は質問を掲載した際「難しい!」というコメントが非常に多く、もう少し易しい質問にするべきだったかと思って次のように呟いてみたのだが・・・ 非常に心強くて安心した。さすがに日を代表するMySQLのエキスパートである。出題のレベルは間違ってはいなかった!! そんなわけで、回答の方に移ろう。 MySQLのサーバープロセスはいくつある?ひとつ。mysqldはシングルプロセス・マルチスレッドモデルを採用しているので、"サーバー"プロセスはひとつである。多くの場合、Linuxなどでmysqldを動かす場合には、お供にmysqld_safeも常に動いていることが多いが、mysqld_safeはサーバーではなく、mysqldのためのラッパーであるので数には含めない。 rootユー

    「優れたMySQL DBAを見分ける27+3の質問」に対する回答例
    takeodon
    takeodon 2011/04/08
    MySQLのイルカは「Sakila」という女性名でアフリカ南部のスワジランドのローカル言語にルーツがあるらしい。
  • ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

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

    ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • インストールが上手くいかない場合|phpadmin

    CentOSにmyphpadminをインストールしたところ、 とな。 # rpm -q php-mysql とすると、 パッケージ php-mysql はインストールされていません。 と。 はい、ではphp-mysqlをインストールするよ、 # yum -y install php-mysql しかし、 Loaded plugins: downloadonly, fastestmirror Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * updates: ftp.iij.ad.jp * addons: ftp.iij.ad.jp * extras: ftp.iij.ad.jp Setting up Install Process Parsing package install arguments Reso

    インストールが上手くいかない場合|phpadmin