タグ

mysqlに関するtrappleのブックマーク (30)

  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 15.8.3.6 バッファープールの状態の保存と復元

    サーバーの再起動後の warmup 期間を短縮するために、InnoDB では、サーバーの停止時にバッファプールごとに最近使用されたページの割合が保存され、サーバーの起動時にこれらのページがリストアされます。 最近使用されたページのうち、格納されたページの割合は、innodb_buffer_pool_dump_pct 構成オプションによって定義されます。 ビジー状態のサーバーを再起動した後、バッファプール内にあったディスクページがメモリーに戻されるため (同じデータがクエリー、更新などされるため)、通常はスループットが急激に向上するウォームアップ期間があります。 起動時にバッファプールをリストアする機能により、DML 操作が対応する行にアクセスするのを待機するのではなく、再起動前にバッファプールにあったディスクページをリロードすることでウォームアップ期間が短縮されます。 また、I/O リクエ

  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ

    先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ

    Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
  • MySQL 5.5以降のutf8mb4とPerlのDBD::mysqlのmysql_enable_utf8のワナ - (ひ)メモ

    結論から言うと、ひろせが望ましいと思う順にこうすればいいんじゃないの?ってのを列挙します。 my.cnfに[libmysqlclient]グループを追加しそこにdefault-character-set = utf8mb4と書き、DBD::mysqlでは mysql_read_default_file=/etc/my.cnf;mysql_read_default_group=libmysqlclient と指定する mysql_enable_utf8を使いたい場合はSET NAMES指定も必要 my.cnfの[client]グループにdefault-character-set = utf8mb4と書き、DBD::mysqlでは mysql_read_default_file=/etc/my.cnf と指定する。mysqlbinlogなど--default-character-setオプショ

    MySQL 5.5以降のutf8mb4とPerlのDBD::mysqlのmysql_enable_utf8のワナ - (ひ)メモ
  • etcfiles/etc/my.cnf at master · kamipo/etcfiles

    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

    etcfiles/etc/my.cnf at master · kamipo/etcfiles
    trapple
    trapple 2015/02/27
    参考にして一つづつ理解を深めたい!
  • 勝手に添削: Test::mysqldとTeng::Schema::Dumperを使ってTengのSchemaクラスを自動生成する 〜Daiku編〜 | おそらくはそれさえも平凡な日々

    勝手に添削: Test::mysqldとTeng::Schema::Dumperを使ってTengのSchemaクラスを自動生成する 〜Daiku編〜 http://masteries.papix.net/entry/2014-05-19-teng-schema-dumper.html Daikuをご利用いただきありがとうございます。上記のエントリーに関して以下の様な点が気になりました。 Daikufileを太らせるのは良くない せっかくのDSLなのにコードがゲロっと書かれてしまうのは残念な感じがする あくまでコード例なので、対策はしているのかも知れませんが、僕だったらこうするというのを書きます。 概要は以下のとおりです。 task用のパッケージをつくる Daikufileからはそれを利用する パッケージは以下のようになります。 package MyApp::CLI::DumpSchema;

    勝手に添削: Test::mysqldとTeng::Schema::Dumperを使ってTengのSchemaクラスを自動生成する 〜Daiku編〜 | おそらくはそれさえも平凡な日々
  • MySQL Workbench でデータモデルを作成してみる – セルティスラボ

    データモデリングとはデータベースの設計図のようなものです ざっくり言うと業務分析からデータベースの設計までの過程をモデル図で表現する手法です モデリングとはどんなものか知るには、この記事が参考になります 30分間データモデリング~ER図を描こう! – IT 実際の業務を分析して、エンティティと言われる 誰が、何を、どうする というデータに抽出して、そのエンティティを過不足なく効率よく管理するための関連性を定義したデータモデル図を特定の記法により表現したものが、ERD(entity-relationship diagram)と言われます エンティティという聞きなれない言葉が出てきますが、データベース構造から見るとエンティティとは、データテーブルに相当するものです とりあえず概要がわかったところで Workbench を使って ERD を作成してみたいと思います シンプルな例はないかと検索した

    MySQL Workbench でデータモデルを作成してみる – セルティスラボ
  • 続・MySQL データベースからテーブル定義書を生成する - わたねこコーリング

    以前書いた「MySQL データベースからテーブル定義書を生成する」が、地味にアクセスがあるようです(当社比)。ナウでヤングで意識高いギークさんには見向きもされないような類の古臭いイシューだと思ってましたが、平成27年のニッポンでは現在進行形の悩ましい問題だったりする訳ですかね? とまぁそんな訳で続編というか改訂版というか。前回記事では、ダンプした DDL を SQL::Translator という CPAN モジュールを使った perl スクリプトで XML 化した上で、それを XSLT で HTML 変換するという、ちょっとややこしい手順でした。その後、MySQL のダンプコマンド mysqldump には --xml というオプションがあって、こいつを使えば XML 形式の DDL がカンタンに入手できることが判明!(って今頃ヲイw つまり、 mysqldump --no-data -

    続・MySQL データベースからテーブル定義書を生成する - わたねこコーリング
    trapple
    trapple 2015/02/23
    これか
  • SQL::Translator::DiffでDBスキーマに追従させる方法 - すぎゃーんメモ

    #5「GitDDLまじイノベーティブ」 tech.kayac.com Advent Calendar 2012 | tech.kayac.com - KAYAC engineers' blog が便利そうだなーと思って。 でもGitと絡めなくても、Webアプリにおいて「現在の環境で使用するデータベース」と「有るべきスキーマの状態を示すDDLファイル」の差分を取って埋めることができればそれだけで十分使える気がする、と思って一つの運用方法を考えてみた。 もちろんGitDDL使っても良いのだけど、SQL::Translatorを使うだけでもある程度は、ということで。 Amon2プロジェクトの例で。 初期設定 $ amon2-setup.pl MyAppとかで雛形プロジェクトを作ると、sqlディレクトリが作られて、そこにDDLを保存する雰囲気になる。そのままsql/mysql.sqlを使っていくこ

    SQL::Translator::DiffでDBスキーマに追従させる方法 - すぎゃーんメモ
  • DBI->connect 時に使う鉄板オプションを教えて! - blog.nomadscafe.jp

    perlでデータベースを使う時に誰もが必ず使うDBI。その接続時に使うconnectメソッドの第4引数に設定しているオプションがサービスによりまちまちなんだけど、だれか鉄板設定を教えてください。 僕が使うのが、 my $dbh = DBI->connect($dsn, $user, $password, { AutoCommit => 1, PrintError => 0, RaiseError => 1, ShowErrorStatement => 1, AutoInactiveDestroy => 1, }); これ。 加えて、mysqlであれば mysql_enable_utf8 => 1 mysql_auto_reconnect => 0, SQLiteだと sqlite_unicode => 1 sqlite_use_immediate_transaction => 1 を追加し

  • 限界までMySQLを使い尽くす!!

    どこまで出来るか?!やれるところまでやってやるぜ!!と、威勢が良いのは若い間だけの話。オトナのオトコは、攻めるときはとことん攻めるが自らの限界もわきまえて賢く振る舞うのがスマートってものである。というわけで、今日はMySQLのいろいろな限界についてまとめてみる。皆さんも是非MySQLの限界を知り、MySQLをもっとスマートに使って頂きたい。 SQL文の最大長 MySQLサーバーが実行出来るSQL文の最大長は、max_allowed_packetシステム変数で表される。max_allowed_packetの最大値は1GBである。max_allowed_packetの値はセッションごとにも設定可能なので、デフォルトではそこそこの値(16MBなど)に設定しておいて、必要に応じて大きな対を使うと良いだろう。 データベースの個数 データベースオブジェクトの個数に制限はない。データベースオブジェクトは

    限界までMySQLを使い尽くす!!
  • お手軽InnoDBウォームアップを実現するMySQL::Warmerの話をGotanda.pm #2でしてきました | おそらくはそれさえも平凡な日々

    発表資料 Gotanda.pm #2でMySQL::Warmerというモジュールの紹介をしたのですが、それをCPANizeしたのでエントリを書いています。 % cpanm MySQL::Warmer とすると、mysql-warmupというコマンドがインストールされ以下のようなコマンドを打つとウォームアップクエリがダラっと発行されます。--dry-runもあり、その場合、発行されるクエリが標準出力されます。 % mysql-warmup mydatabase -h db.example.com -u dbuser -p サービス投入前のDBのデータをメモリに乗っけてやるのに有用でしょう。 ウォームアップ戦略はkazuhoさんのMySQL のウォームアップ (InnoDB編)に基づいていますが一部適当です。突っ込みどころがあれば指摘いただければと思います。 ISUCONでも再起動かかった直後

    お手軽InnoDBウォームアップを実現するMySQL::Warmerの話をGotanda.pm #2でしてきました | おそらくはそれさえも平凡な日々
  • MySQLの mysql_secure_installation が中身でやっていること。

    yum install mysql-serverなんかをたたいたあとで、手動でmysql_secure_installationを実行してたのを自動化するときのためのメモ。 # MySQL 5.1同梱のものの中身を見て転記しただけですが。 ○rootユーザのパスワード文字列を設定する -- SET ROOT PASSWORD -- UPDATE mysql.user SET Password=PASSWORD('[パスワード文字列]') WHERE User='root'; ○anonymousユーザを削除する -- REMOVE ANONYMOUS USERS -- DELETE FROM mysql.user WHERE User=''; ○リモートからのrootログインを禁止する -- REMOVE REMOTE ROOT -- DELETE FROM mysql.user WHER

  • chef で mysql のユーザやデータベースを管理する - Hack like a rolling stone

    以前、ある環境のデータベースを作ったときは、忙しくて手が回らないという理由で ユーザやデータベースのセットアップは script リソースを作ってえいやと済ませてしまった tk0miya です。こんにちは。 今回はすべて community cookbook で環境を作る方法をまとめてみました。 やり方が分かってしまえばシンプルに実現できるので、泥臭く script リソースを作らずに済みそうです。 鍵は database cookbook ユーザやデータベースを作るレシピmysql cookbook に入っていないため、 公式には提供されていないものといままで諦めていたのですが、 調べてみると mysqll cookbook ではなく database cookbook でリソースが提供されているようです。 以下、README の説明です。 The main highlight of

    chef で mysql のユーザやデータベースを管理する - Hack like a rolling stone
  • iandeth. - mysqlクライアント TIPS集/便利機能メモ

    MySQL標準のクライアントプログラム - mysql に関するTIPS集です。便利オプションとかコマンドってすぐ忘れちゃうし、psql (PostgreSQL) とごっちゃになる可能性が非常に高いので、自分への備忘録目的でまとめてみました。情報参照元はページ最下部に記述してありますが、9割方 O'REILLY社の「MySQLクックブック vol.1」 の1章からの参照です。はやい話が同章のまとめ/要約+αって事です(汗)。なお、対象バージョンは 3.22 〜 4.1.10 (現時点最新版)、各TIPSごとに詳細バージョンを示してあります。 TIPS一覧 入力途中のクエリ発行をやめたい/キャンセルしたい: \c コマンド SQL変数(テンポラリ変数)の使用 外部ファイルからのクエリ読み込み コマンドラインにてクエリ発行したい: -e オプション クエリ結果表示にページング機能をつける: P

  • Mountain Lion Rails最新環境詳解構築手順 [Homebrew][MySQL][rvm][Pow][Ruby]

    Mountain LionにRailsのモダンな開発環境を構築するまでの一連の手順をまとめました。 Macを新しく買ったり、OSを再インストールした時などは良かったら使ってください! 🐞 目次(1) 基ソフトウエアのインストール (2) Homebrew/Gitのインストールなど (3) MySQLのインストール (4) rvmのインストール (5) Railsのモダン開発環境構築 (6) メモ:Tips集 🍮 (1)基ソフトウェアのインストールMacのアプリケーションをインストールします。 Mac App StoreからインストールXCode - 必須Homebrewでコンパイルするときに必要 Xcodeをインストールしたら、Xcodeを起動してCommand LINE Toolをインストール。 Mac App Store - Dash (Docs & Snippets) - 任

    Mountain Lion Rails最新環境詳解構築手順 [Homebrew][MySQL][rvm][Pow][Ruby]
  • HomebrewでMySQLをインストールする時に知っておきたいこと | Macとかの雑記帳

    HomebrewでMySQLをインストールする際の注意点などについてです。MySQL自体はインストール時に表示される注意書きどおりに設定すれば問題なかったのですが、起動スクリプトで少しトラブったので備忘録です。 その他にもメモっておきたいことがあったので記事にしました。HomebrewでMySQLをインストールした方の参考になればと思います。 MySQLのインストールと初期設定 まずはMySQLのインストール。 インストールが終了すると、下のように色々と表示されるので、その通りに進めていけばとりあえず使えるようになります。 ちなみに、これらの注意書きは$ brew info mysqlを実行すればいつでも見れます。 データベースとユーザーの設定 インストールが済んだら、表示された内容に従って順に設定していきます。最初にデータベースのインストールとデータを格納する場所の設定をします。 $ u

    HomebrewでMySQLをインストールする時に知っておきたいこと | Macとかの雑記帳
  • さくらのVPS CentOSでサーバ構築 21 – Nginx - AKIBE @AKIBE

    さくらのVPS CentOSでサーバ構築 作業ノート20回目。 Apacheよりも少ないメモリ消費で、しかも高速だと言われてる最近話題のWebサーバ「Nginx」を入れてみます。CGI系はApacheと同等、静的ファイル...さくらのVPS CentOSでサーバ構築 作業ノート20回目。 Apacheよりも少ないメモリ消費で、しかも高速だと言われてる最近話題のWebサーバ「Nginx」を入れてみます。CGI系はApacheと同等、静的ファイルはApacheよりもかなり高速に処理できます。Passengerのインストールとyumのリポジトリ追加の作業が前提です。インストール前準備さくらのVPSの標準OSはCentOSの64bit版ですが、なぜか最初から32bit版のパッケージがいくつか入っています。Nginxをインストールする時にmysql等を最新版にアップデートしたいのですが、32bit

  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 5.4.3 一般クエリーログ

    一般クエリーログは、mysqld の実行内容の一般的な記録です。 サーバーは、クライアントが接続または接続解除したときに情報をこのログに書き込み、クライアントから受け取った各 SQL ステートメントをログに記録します。 一般クエリーログは、クライアント側でエラーが疑われるとき、クライアントが mysqld に送信した内容を正確に知りたい場合に非常に役立つことがあります。 クライアントが接続するタイミングを示す各行には、using connection_type も含まれ、接続の確立に使用されるプロトコルを示します。connection_type は、TCP/IP (SSL なしで確立された TCP/IP 接続)、SSL/TLS (SSL で確立された TCP/IP 接続)、Socket (Unix ソケットファイル接続)、Named Pipe (Windows 名前付きパイプ接続)、Sha

  • 現場指向のレプリケーション詳説

    この文書は、技術評論社刊『WEB+DB PRESS Vol.22』に執筆した記事を技術評論社の 許可を得てWWWで公開しているものです。 このWWW版は校正前の原稿を元にしている点、WWW公開後に必要があれば修正する点で、雑誌版の文章とは異なる部分があります。また、図表も雑誌版とは異なります。 予めご了承ください。 また、この文章が対象しているのはMySQL 4.0系なので、最新のリリース版と比べると説明不足な点などが多々あると思います。 レプリケーションの基をおさえるには、この文書はまだ有益だと思いますが、設定レベルの説明は最新のドキュメントを参照するようにしてください。